在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用。作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来。
  当然,直接在命令行上输入:vimtutor,可以学习到Vim的所有命令了。Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令。
  移动命令

 

h      "左
j      "下
k      "上
l      "右
w      "光标移动到下一个单词的首字符 a word forward
b      "光标移动到上一个单词的首字符
e      "光标移动到下一个单词的尾字符
ge     "光标移动到上一个单词的尾字符
$      "将光标移动到当前行行尾
^      "将光标移动到当前行第一个非空白字符
0      "将光标移动到当前行第一个字符

  注: 这些命令除了'0'命令以外都可以在前面接受一个记数,2$;上面所有命令都可以在前面接受一些操作命令,如d$,dw等。
  修改命令


x        "删除一个字符
d        "其后跟任何一个位移命令,将删除从当前光标到位移终点处的文本
"内容,如dw,delete word
c        "与d命令功能类似,不同的在执行完删除后命令进去Insert模式,change
dd       "删除一整行
yy       "复制一整行
p        "把剪贴板内容粘帖到当前位置
vimdiff 1.c 2.c "创建一个垂直分割窗口比较这两个文件不同的地方

  搜索命令

 

f<a>     "单字符搜索,fa是在当前行搜索下一个a,find a
/string  "全文本搜索一个字符串,如要找到单词"func"则用/func
"如果文本有多个func,按下n会移动到接下来的func位置上
"n前面也可以接受数字计数,如3n,会找紧接第三个func
?string  "与/string的功能相同,的区别是搜索的方向相反

  注:
  可以用:set noingorecase 忽略字符大小写;
  /和?命令都有记忆功能,可以用多次<UP>键选择搜索历史,记录命令大的历史条数可以在会话viminfo上更改;
  搜索字符.*/?%$^[]等特殊字符要在前面加一个反斜杠转意;
  搜索到孤立的单词,也是前后都没有其他字符的(除了空格,制表符),如只搜the,不想搜到there或whether这样的,要用/<the>;
  可以用:set hlsearch把要搜索的单词高亮显示;