导语

对Vim有了解的朋友应该知道,Vim高手使用这个编辑器进行编程时,双手是完全不需要离开键位的,所有的工作都可以通过键盘去完成,而且效率很 高。如果你看过真正的Vim高手的玩法,你一定会被惊呆了。Vim的自定义以及插件功能强大到你无法想象,就像很多人都说的,只有你想不到的,没有Vim 做不到的。当然,这说发明显是夸张了点,但实际上Vim确实很强大。其实高手也是靠练出来的,使用多了,熟悉了,自然就成了别人眼中所谓的“高手”。

gVim/Vim/vi的工作模式

Vim/Vi是没有菜单和工具栏的,只有命令;而gVim算是Vim/Vi的增强版,有图形界面(有菜单和工具栏)以及一些新的功能。熟练之后,其 实这三者区别不是很大,为了方便,以下统称为Vim。Vim有三种工作模式,分别是:命令模式、插入模式、编辑模式。缺省(即默认)状态下是命令模式;按 i(I)、a(A)、o(O)进入插入模式;按冒号:进入编辑模式。

gVim/Vim/vi文本编辑器常用命令分类总结

之前已经和大家分享了gVim/Vim/vi文本编辑器的配置文件和配色方案,今天抽时间总结分类了一下Vim文本编辑器的常用命令,一方面作为总结归纳,方便自己查询;另一方面,希望对想使用Vim或者正在使用Vim的朋友能有所帮助。

(温馨提示:为了正常浏览本文,请使用chromeFirefox等支持CSS3的浏览器!)

gVim/Vim/vi文本编辑器常用命令分类总结
分类 命令 功能描述
  h 光标左移一个字符
  j 光标下移一行
  k 光标上移一行
  l 光标右移一个字符
w 光标移到下一个单词的首字符上
b 光标移到上一个单词的首字符上
$(或<End>) 光标移至当前行尾
^ 光标移到当前行首第一个非空白字符上
0(或<Home>) 光标动到当前行第一个字符上
  H 光标移到当前屏幕上端
  M 光标移到当前屏幕中间
  L 光标移到当前屏幕下端
  gg 光标移到当前文档第一行
  G 光标移到当前文档末尾行
  :n(或nG) 光标移到第n行
     
  i 当前光标之前插入文本
  I 在本行开始插入文本
a 当前光标之后插入文本
A 在本行行末插入文本
o 在光标下一行插入新行
O 在光标上一行插入新行
r 改写光标所在处的字符
  R 从光标所在处开始改写,按Esc结束
     
  x 删除光标所在字符(nx删除光标后n个字符)
  dd 删除光标所在行(ndd删除n行)
dG 删除光标所在行至到文档末尾的内容
dgg 删除光标所在行至到文档开始的内容
  D 删除从光标所在处到行尾的内容
  :n1,n2d 删除指定范围的行(第n1行至第n2行)
     
yy(或Y) 复制当前行(nyy、nY复制当前行以下n行)
dd 剪切当前行(ndd剪切当前行以下n行)
p 粘帖在当前光标所在行的下一行
P 粘帖在当前光标所在行的上一行
     
/string 查找文档中的string字符串(按n查找下一个)
:%s/old/new/g 全文查找字符串old并替换为字符串new
:n1,n2s/old/new/g 在第n1行至第n2行内查找字符串old并替换为字符串new
:set ic 搜索时忽略大小写(大小写敏感用:set noic)
     
  u 撤消上一次操作(在Windows下Ctrl+z亦可)
U 撤消对一行的全部操作
Ctrl+r 重做,即反转撤消
     
:w 保存修改
:w new_filename 将当前文件另存为new_filename
退 :wq(或ZZ) 保存修改并退出
:q! 不保存修改并退出
     
:split 将屏幕分割成两个窗口,可以同时看到同一个文件的两个不同部分
:split fileName 在另一个窗口打开当前编辑文件所在位置中的fileName文件
:split Path/fileName 在另一个窗口打开Path路径下的fileName文件
:new 在另一个窗口新建一个文档
结语

好啦,熟悉这些命令后,很多工作都可以顺利的完成了。以后有时间再分享一下Vim其他的使用技巧。什么?上面的这些命令仍无法满足你的需求?好吧,Download这份Vim官方用户手册回去慢慢研究(如下载文件过期,请留言提醒我续期):Vim用户手册中文版7.2.pdf

文章转自:http://www.liveme.org/vi-commonly-used-commands.html