移动
| 命令 |
功能 |
| w |
向后一个单词(跳过空格) |
| e |
向后一个单词(不跳过空格) |
| b |
向前一个单词 |
| ctrl+f |
向下移动一页,相当于page down |
| ctrl +b |
向上移动一页,相当于page up |
| 数字0或者Home |
移动到这一行的最前面 |
| $或者End |
移动到这一行最后面 |
n<Enter> |
n为数字,游标向下移动n列(回车键的向下和j的向下不同在于j是垂直向下,而回车会到下一行最前面) |
| shift+g |
移动到最后一列,如果前面加了数字则移动到指定行 |
| gg |
移动到第一行,相当于1G(1 shift+g) |
搜索
| 命令 |
功能 |
| /word |
从下面的文本中搜索指定字符 |
| ?word |
从上面的文本中搜索指定字符 |
| n |
重复前一个搜索动作,当这份文件中有多处和你要搜索的匹配就可以用此命令不断继续寻找 |
| N |
与n相反,本来是向下搜索,N会向上搜索 |
| :n1,n2s/word1/word2/g |
在n1行和n2行之间搜索word1并将其取代为n2(如果将g换为gc会询问是否替换) |
| :1,$s/word1/word2/g |
在1行和最后一行之间搜索word1并将其取代为n2 |
删除,复制,粘贴
| 命令 |
功能 |
| x,X |
x为向后删除一个字(delete),X为向前删除一个字(backspace) |
| dd |
删除所在行 |
| d1G |
删除光标所在到第一行的所有资料 |
| dG |
删除光标所在到最后一行的所有资料 |
| d +移动命令 或者 n x |
不再赘述 |
| yy |
复制所在行 |
| nyy,y1G,yG,y0,y$等 |
不再赘述 |
| p,P |
将复制的内容粘贴到下一列,P粘贴到上一列 |
| J |
将光标所在列与下一列的内容合并为一列(删了回车并补上空格) |
| u |
恢复上一次的改动 |
| ctrl + r |
对命令u的撤销,比如你删除了一行,u会重新恢复这一行,而ctrl+r会撤销u的效果,也就是这一行又没了 |
| 小数点 . |
重复上一个文件修改动作,不会重复移动等命令 |
切换编辑模式
| 命令 |
功能 |
| i,I |
i从光标所在处插入(会插入到光标的前面),I从所在行的最前面插入(也是插入到光标的前面) |
| a,A |
a在光标的后面插入,A在所在行的最后面插入 |
| o,O |
o在所在行的下一行插入,O在所在行的上一行插入 |
| r,R |
r替换光标所在的字,R替换从光标往后的字,直到按ESC |
大部分整理自鸟哥的linux私房菜
在linux输入vimtutor会打开自带的vim教程。
附上vim指令图
