最近VIM用得越来越多,以前的一些简单操作看起来已经不能满足我的需要了,
查阅了一下,记录了一些快速入门的命令。
特别推荐一个VIM使用的博客:
http://easwy.com/blog/archives/advanced-vim-skills-catalog/
1. 切换模式
ESC - 回到模式选择
i - 编辑模式
: - 命令模式
:set mouse=a - 开启鼠标功能(可以双击超级链接前进,C+右击返回)
:help - 调出vim的帮助界面,可以查看vim的命令说明(通过 :q 退出帮助界面)
:help :q - 查询:q命令的帮助说明
2. 光标调整
:123 - 跳转到第123行
0 - 移动光标到行首
$ -
移动光标到行尾
H - 移动光标到当前屏幕的首行
M -
移动光标到当前屏幕的中间行
L -
移动光标到当前屏幕的最后一行
gg - 移动
光标到文档的首行
G -
移动
光标到文档的尾行
'' - 移动
光标到上一次停留的位置(两个单引号)
'. -
移动
光标到上一次修改的位置
3. 简单编辑
u - 撤销之前的动作(undo)
/xx - 查找xxx内容
n - 继续查找下一个
:w - 保存当前文件
:q - 退出vim
:q! - 放弃修改强制退出
:wq - 保存并关闭
:e! - 放弃修改并重新载入文件
Y - 复制当前行到粘贴板
3Y -
复制3行内容到
粘贴板
dd -
剪切
当前光标所在的一整行
3dd -
剪切
当前光标开始的3行
p - 粘贴到光标之后
P - 粘贴到
光标
之前
v - 进入可视化界面,可以用光标选择一段内容
4. 调用外部命令
:!ls - 调用外部命令ls
5. 自动补全
ctrl+n - 切换下一个自动补全,可以多次使用,功能相当于命令行下的Tab键
ctrl+x ctrl+f - 补全文件路径信息
ctrl+x ctrl+l - 整行补全
ctrl+x ctrl+] - 补全tag
6. 使用ctags
ctags -R dirname 为指定目录生成tags
vim -t start_kernel 打开start_kernel函数处
:set tags=tagsxx 设置tags文件为当前目录下的tagsxx文件
如果tag有多个标签同时存在,则需要用到下面的指令:
:ts 列出所有备选的tag以供选择
:tp 跳转到前一个
:tn 跳转到后一个
:tag start_kernel 打开start_kernel函数处(如果记不住函数名,可以用tab自动补全的)
ctrl+] 跳转到光标处的tag
ctrl+t 返回到上次跳转的地方