Linux神兵利器--vim用出强大

关注作者不迷路,老王带你玩工具

vim使用文档Vimscript编程参考 - Vim中文手册

vim基础用法

vim 是一个功能强大的文本编辑器,它拥有许多高级用法,可以极大地提高你的编辑效率。以下是一些 Vim 的高级用法:

  1. 模式切换

    • 普通模式(Normal Mode):默认模式,可以进行移动、复制、粘贴等操作。
    • 插入模式(Insert Mode):用于插入文本。
    • 可视模式(Visual Mode):选择文本,可以进行复制、删除等操作。
    • 命令行模式(Command Mode):在底部输入命令。
  2. 快速移动

    • hjkl:左、下、上、右移动光标。
    • gg:移动到文件的开头。
    • G:移动到文件的末尾。
    • 0:移动到当前行的开头。
    • $:移动到当前行的末尾。
    • :行号:跳转到指定行号。
  3. 文本编辑

    • i:进入插入模式,在光标前插入文本。
    • I:进入插入模式,在当前行的开头插入文本。
    • a:进入插入模式,在光标后插入文本。
    • A:进入插入模式,在当前行的末尾插入文本。
    • o:在当前行下方新开一行,并进入插入模式。
    • O:在当前行上方新开一行,并进入插入模式。
    • dd:删除当前行。
    • yy:复制当前行。
    • p:粘贴。
  4. 查找和替换

    • /word:向下查找 "word"。
    • ?word:向上查找 "word"。
    • n:查找下一个匹配项。
    • N:查找上一个匹配项。
    • :%s/old/new/g:替换整个文件中的 "old" 为 "new"。
  5. 窗口分割

    • :split 或 :sp:水平分割窗口。
    • :vsplit 或 :vsp:垂直分割窗口。
    • Ctrl + w 然后 h/j/k/l:在分割的窗口之间移动。
  6. 缓冲区管理

    • :ls 或 :buffers:列出所有缓冲区。
    • :buffer 或 :b:切换到指定缓冲区。
    • :bnext 或 :bn:切换到下一个缓冲区。
    • :bprevious 或 :bp:切换到上一个缓冲区。
  7. 宏录制

    • q<letter>:开始录制宏到寄存器 <letter>
    • q:停止录制。
    • @<letter>:执行寄存器 <letter> 中的宏。
  8. 撤销和重做

    • u:撤销上一次操作。
    • Ctrl + r:重做上一次撤销的操作。
  9. 设置

    • :set number 或 :set nu:显示行号。
    • :set nowrap 或 :set nowrapscan:禁止换行。
    • :set tabstop=4:设置制表符宽度为 4 个空格。
  10. 插件和扩展

    • Vim 社区提供了大量的插件和扩展来增强 Vim 的功能,如 VundlePathogen 等用于管理插件。
  11. 自定义快捷键

    • :map:创建快捷键映射。
  12. 使用 Vim 脚本

    • Vim 脚本允许你编写脚本来自动化复杂的任务。

这些只是 Vim 高级用法的一小部分。Vim 的学习曲线可能比较陡峭,但一旦你掌握了它,你将能够以惊人的速度进行文本编辑

高级用法

Vim 脚本(通常以 .vim 扩展名结尾)是使用 Vim 的脚本语言编写的,这种语言允许你自动化编辑任务、定义快捷键、创建函数等。以下是编写 Vim 脚本的基本步骤和一些示例:

1. 打开 Vim 并进入命令模式

打开终端或命令提示符,然后输入 vim 来启动 Vim。

2. 创建新脚本文件

在 Vim 中,输入

:e your_script_name.vim 

 来创建一个新文件。

3. 编写脚本

Vim 脚本可以包含命令、函数、变量和条件语句等。

变量

使用 let 来声明变量:

let variable_name = "value"
函数

定义函数:

function! MyFunction() " 你的代码 endfunction

调用函数:

call MyFunction()
命令

直接在脚本中执行 Vim 命令:

:command! MyCmd echo "Hello, World!"

这会在 Vim 中创建一个名为 MyCmd 的新命令,当你输入 :MyCmd 时,它会显示 "Hello, World!"。

条件语句

使用 ifelseendif 来添加条件逻辑:

if &filetype == 'python' set number endif
循环

使用 for 循环来重复执行命令:

for i in range(1, 10) echo i endfor

4. 保存并退出

使用 :wq 保存并退出 Vim。

5. 运行你的脚本

在 Vim 中运行脚本,可以通过 :source 命令:

:source your_script_name.vim

或者,如果你希望每次启动 Vim 时自动运行脚本,可以将 :source 命令添加到你的 .vimrc 文件中。

示例脚本

以下是一个简单的 Vim 脚本示例,它定义了一个函数来插入当前日期和时间:

" 插入当前日期和时间
function! InsertDateTime()
    let l:date = strftime("%Y-%m-%d %H:%M:%S")
    call append('.', l:date)
endfunction

" 创建一个快捷键来调用函数
command! InsertDateTime call InsertDateTime()

这个脚本定义了一个名为 InsertDateTime 的函数,它使用 Vim 的 strftime 函数来获取当前的日期和时间,并将其追加到文件的末尾。然后,脚本创建了一个名为 InsertDateTime 的命令,可以通过在 Vim 中输入 :InsertDateTime 来调用这个函数。

编写 Vim 脚本时,你可以利用 Vim 的强大功能来定制你的编辑环境,提高工作效率。记得查看 Vim 的官方文档(通过在 Vim 中输入 :help),那里有更多关于脚本编写的详细信息和高级功能。

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔壁老?

如果您不介意,打赏小编一些

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值