http://liuzhijun.iteye.com/blog/1830575
注:以下命令都是在插入模式下执行。
单词自动补全:
CTRL+n
:当你输入第一个字母的时候,再CTRL+n,自动出现下拉菜单,单词默认选中第一个,继续CTRL+n,CTRL+p可以上下切换,或者用方向键(太慢)
CTRL+p
:同上,只是默认的选中的是列表中最后一个单词
行自动补全:
CTRL+x CTRL+l
(l指小写的L ):两个命令组合使用。在插入模式下输入已经存在行的第一个单词,再按这两个键,就会列出该整行出来
文件名自动补全:
CTRL+x CTRL+f
:插入模式下,按这两个组合键,可以插入当前目录下的文件名。处用在哪里呢,当然是有时候我们要指定默认执行文件的路径,这样就方便啦。
字典补全:
首先在~/.vimrc加入如下代码,注意这是在Linux,windows下应该是C:\Users\$username(用户名)
set dictionary-=$VIM/dic.txt dictionary+=$VIM/dic.txt
dic.txt中的单词一每行一个单词来分割的
CTRL+x CTRL+k 就能看到dic.txt中定义的单词的,如果你还麻烦,想直接CTRL+n就显示其中的列表的话,再配置一下.vimrc文件:
set complete-=k complete+=k
光标一次移动一个单词的长度
w:移动到下一个单词的起始处(既然是w,代表的意思就是word,好记吧) W:移动到下一个单词的起始处
那么w和W它俩有什么区别呢,w会把一个单词理解成由连续的字母或数字或特殊字符,而W却以空格来识别是否到了下一个单词,一图胜千言
与之相反的两个操作时b和B
b:移动到前一个单词的起始处 B:移动到前一个单词的起始处(b和B的区别与w和W是同理的)
光标在一行内的移动
0(零):移动到行首 $:移动到行未 ^:移动到当前行的第一个非空字符处(如果该行首没有空格,那么效果与0是一样的) g_:移动到当前行的最后一个非空格字符处
插入,追加字符
i:在当前光标位置插入字符 o:在当前行往下插入新的一空行 O:在当前行往上插入新的一空行 a:在当前光标后追加字符 R:替换当前光标的字符直到推出插入模式(按ESC) :r filename:把文件名为filename的内容插入当当前行的下一行 :r! command:把command返回的结果插入到当前行的下一行
拷贝一个单词、行首、行尾、整行
yw:拷贝当前的一个单词 y0:拷贝的范围是当前光标处到行首 y$:拷贝的范围是当前光标处到行尾 yy:拷贝当前行 nyy:从当前行开始拷贝n行(这里的n是数字)
拷贝完后用p就可以粘贴了。
删除一个单词,行首、行尾、整行
x:删除当前光标处字符(严格来说x不属于插入,因为你还要按i才能插入) dw:删除当前光标出一个单词 d0:删除光标处到行首的字符 d$:删除光标处到行尾的字符 dd:删除整行 ndd:删除n行(同样n代表数字)