//20161215
vim常用指令
*******移动光标*******************************************************************************************
1. 空格键 #向右移动一格
2. v% #光标移动到(,{时,v%可以选定括号内容
3. fx #向右跳转字符x处
Fx #向左
4. # #光标跳转到与当前单词相同的上一个单词上
* #是向后查找
5. % #光标直接跳转到(),{},[]字符上
6. b、3b、w、3w:向后/向前移动几个单词,标点符号也算一个单词。类似的,大写状态为不包含标点,只把空格和换行符当成单词间隔符。
7. $,移动到行尾,3$,移动到3行后的行尾;
8. ^,移动到行首。
9. +,移动到下一行行首。
10. -,移动到上一行行首。
11. 3G,跳转到第3行,此时按``可以返回到原来行。
12. gg,文件头;G,文件尾。
13. 30%,跳转到文件的30%处。
14. H(Home),M(Middle),L(last),分别跳转到屏幕的上中下位置。
15. ctrl+g,显示当前位置。
16. ctrl+u/d,向上/向下滚动半屏;
17. ctrl+e/y,向上/向下滚动一行;
18. ctrl+b/f,向上/向下滚动一屏;
19. zz,当前行挪到屏幕中间;zt置顶;zb置尾。
*******查找替换*******************************************************************************************
1. Nyy #复制光标后的N行
也可以这样操作,ma标记开始行,y'a结束标记行并自动复制(d'a会删除至a标记位置);
或者,v进入visual模式,NG跳转到第N行,再y复制;
2. :10,20y #复制第10-20行内容;类似的10,20d,删除内容;
3. :10,20 m 30 #将10-20行之间的内容剪切到30行之后;
4. :10,20 co 30:拷贝内容。
5. /string,查找string单词。之后按n可以向下查找,N向上。
6. :%s/str1/str2/g,替换每行的str1为str2;
7. :10,20s/str1/str2/g,替换10-20行的str1为str2;
8. :10,$s/str1/str2/g,替换10-最后一行的str1为str2;
9. :s/str1/str2,替换当前行的str1为str2;
10. :10,$ w test2.c,去10-最后一行内容,保存到test2.c;
*******编辑窗口*******************************************************************************************
1. x #删除光标后面的一个字符
X #删除光标前面的一个字符
3x #删除光标后面的三个字符
3X #删除光标前面的三个字符
2. dd #删除一行
D #删除到行尾;(Delete)
3. caw #改写单词,删除单词,并进入编辑模式等待输入
4. J #删除当前行的换行符,使下一行提上来;
nJ #就是删除n行的换行符
5. i #光标前插入
I #行首插入
a #光标后插入
A #行末插入
6. o #在当前行的下面另起一行,并编程插入模式
O #在当前行的上面另起一行
7. >>,将本行向右移动一段距离;<<,向左。3>>,下面的3行一起挪。:20-30>>,20-30行一起挪。
8. dw删除一个单词,不如daw实用;d4w,删除4个单词;d$删除至行尾;d^删除至首行;dnj,向下删除n行;dnk,向上删除n行;d换成c,效果也一样,只是操作完成后变成insert模式。
9. P粘贴至光标前。
*******可视、模式*******************************************************************************************
1. v:进入Visual模式;V 进入可视行模式;ctrl+v,可视块模式。
*******其他*******************************************************************************************
1. 在~目录下创建.vimrc,并在文件中输入、保存以上命令可以将其配置成vim的默认配置。
2. :set num #显示行号
3. :set tabstop=4 #tab缩进4个空格长度
4. :syntax on #特殊字符高亮显示
5. :set ai #开启自动缩进,缩进值与上一行相等,关闭set noai
6. u #撤销,Undo上一次操作,即后退
U #撤销当前行的所有操作
ctrl+r #反面撤销,即前进。
7. ctrl+n,ctrl+p #编辑模式下,自动补全内容
8. :e! #放弃修改,然后重新打开页面
9. :help #获取帮助
10. .,重复上次操作。
11. ctrl+z,暂停vim操作,回到控制台;fg可以重新进入vim;
*******移动光标*******************************************************************************************
1. 空格键 #向右移动一格
2. v% #光标移动到(,{时,v%可以选定括号内容
3. fx #向右跳转字符x处
Fx #向左
4. # #光标跳转到与当前单词相同的上一个单词上
* #是向后查找
5. % #光标直接跳转到(),{},[]字符上
6. b、3b、w、3w:向后/向前移动几个单词,标点符号也算一个单词。类似的,大写状态为不包含标点,只把空格和换行符当成单词间隔符。
7. $,移动到行尾,3$,移动到3行后的行尾;
8. ^,移动到行首。
9. +,移动到下一行行首。
10. -,移动到上一行行首。
11. 3G,跳转到第3行,此时按``可以返回到原来行。
12. gg,文件头;G,文件尾。
13. 30%,跳转到文件的30%处。
14. H(Home),M(Middle),L(last),分别跳转到屏幕的上中下位置。
15. ctrl+g,显示当前位置。
16. ctrl+u/d,向上/向下滚动半屏;
17. ctrl+e/y,向上/向下滚动一行;
18. ctrl+b/f,向上/向下滚动一屏;
19. zz,当前行挪到屏幕中间;zt置顶;zb置尾。
*******查找替换*******************************************************************************************
1. Nyy #复制光标后的N行
也可以这样操作,ma标记开始行,y'a结束标记行并自动复制(d'a会删除至a标记位置);
或者,v进入visual模式,NG跳转到第N行,再y复制;
2. :10,20y #复制第10-20行内容;类似的10,20d,删除内容;
3. :10,20 m 30 #将10-20行之间的内容剪切到30行之后;
4. :10,20 co 30:拷贝内容。
5. /string,查找string单词。之后按n可以向下查找,N向上。
6. :%s/str1/str2/g,替换每行的str1为str2;
7. :10,20s/str1/str2/g,替换10-20行的str1为str2;
8. :10,$s/str1/str2/g,替换10-最后一行的str1为str2;
9. :s/str1/str2,替换当前行的str1为str2;
10. :10,$ w test2.c,去10-最后一行内容,保存到test2.c;
*******编辑窗口*******************************************************************************************
1. x #删除光标后面的一个字符
X #删除光标前面的一个字符
3x #删除光标后面的三个字符
3X #删除光标前面的三个字符
2. dd #删除一行
D #删除到行尾;(Delete)
3. caw #改写单词,删除单词,并进入编辑模式等待输入
4. J #删除当前行的换行符,使下一行提上来;
nJ #就是删除n行的换行符
5. i #光标前插入
I #行首插入
a #光标后插入
A #行末插入
6. o #在当前行的下面另起一行,并编程插入模式
O #在当前行的上面另起一行
7. >>,将本行向右移动一段距离;<<,向左。3>>,下面的3行一起挪。:20-30>>,20-30行一起挪。
8. dw删除一个单词,不如daw实用;d4w,删除4个单词;d$删除至行尾;d^删除至首行;dnj,向下删除n行;dnk,向上删除n行;d换成c,效果也一样,只是操作完成后变成insert模式。
9. P粘贴至光标前。
*******可视、模式*******************************************************************************************
1. v:进入Visual模式;V 进入可视行模式;ctrl+v,可视块模式。
*******其他*******************************************************************************************
1. 在~目录下创建.vimrc,并在文件中输入、保存以上命令可以将其配置成vim的默认配置。
2. :set num #显示行号
3. :set tabstop=4 #tab缩进4个空格长度
4. :syntax on #特殊字符高亮显示
5. :set ai #开启自动缩进,缩进值与上一行相等,关闭set noai
6. u #撤销,Undo上一次操作,即后退
U #撤销当前行的所有操作
ctrl+r #反面撤销,即前进。
7. ctrl+n,ctrl+p #编辑模式下,自动补全内容
8. :e! #放弃修改,然后重新打开页面
9. :help #获取帮助
10. .,重复上次操作。
11. ctrl+z,暂停vim操作,回到控制台;fg可以重新进入vim;