移动光标的方法(一般模式)
| 按键 |
说明 |
| h或向左箭头键 |
光标向左移动一个字符 |
| j或向下箭头键 |
光标向下移动一个字符 |
| k或向上箭头键 |
光标向上移动一个字符 |
| l或向右箭头键 |
光标向右移动一个字符 |
如果想要啊进行多次移动的话,例如向下移动30行,可以使用 “30j” 或 “30j”的组合键向上、左、右同上。
| 按键 |
说明 |
| [Ctrl或control] + [f] |
屏幕向下移动一页,相当于[Page Dwon]按钮 (常用) |
| [Ctrl或control] + [b] |
屏幕向上移动一页,相当于[Page Up]按钮 (常用) |
| [Ctrl或control] + [d] |
屏幕向下移动半页 |
| [Ctrl或control] + [u] |
屏幕向上移动半页 |
| + |
光标移动道非空格符的下一行 |
| – |
光标移动道非空格符的上一行 |
| n |
n代表数字,例如20。按下数字后再按空格,光标会向右移动这一行的n个字符。 |
| 0 或功能键 Home |
这是数字“0”:移动道这一行的最前面字符处(常用) |
| $ 或功能键[End] |
移动到这一行的最后面字符处(常用) |
| H |
光标移动到这个屏幕最上方那一行到第一个字符 |
| M |
光标移动到这个屏幕中央那一行到第一个字符 |
| L |
光标移动到这个屏幕的最下方那一行的第一个字符 |
| G |
移动到这个文件的最后一行(常用) |
| nG |
n为数字;移动道这个文件的第n行。例如:20G(常用) |
| N[Enter] |
n为数字;光标向下移动n行(常用) |
查找与替换 (一般模式)
| 按键 |
说明 |
| /word |
向下查找一个名称为word的字符串;(常用) |
| ?word |
向上查找一个名称为word的字符串;(常用) |
| n |
n是一个英文按键,代表重复前一个查找的操作 |
| N |
与n相反,代表反向进行前一个查找操作 |
| :n1,n2s/word1/word2/g |
n1和n2是数字。在第n1与n2行之间查找word1字符串,并将该字符串替换为 word2 |
| :1,$s/word1/word2/g |
从第一行到最后一行查找word1,并将该字符串替换为 word2(常用) |
| :1,$s/word1/word2/gc |
从第一行到最后一行查找word1,并将该字符串替换为 word2,且在替换前提醒是否需要替换(常用) |
删除、复制与粘贴 (一般模式)
| 按键 |
说明 |
| x,X |
在一行字当中,x为向后删除一个字符,X为向前删除一个字符。相当于[Backspace] (常用) |
| nx |
n为数字,连续向后删除n个字符。 |
| dd |
删除光标所在的那一整行(常用) |
| ndd |
n为数字,删除光标所在的向下n行。 |
| d1G |
删除光标所在行到第一行的所有数据 |
| dG |
删除光标所在行到最后一行到所有数据 |
| d$ |
删除光标所在处到该行的最后一个字符 |
| d0 |
那个是数字0。 删除光标所在处到该行的最前面一个字符 |
| yy |
复制光标所在的那一行 (常用) |
| nyy |
n为数字,复制光标所在向下n行 |
| y1G |
复制光标所在的那一行到第一行的所有数据 |
| yG |
复制光标所在的那一行到最后一行的所有数据 |
| y0 |
复制光标所在的那个字符到该行行首的所有字符 |
| y$ |
复制光标所在的那个字符到该行行尾的所有字符 |
| p,P |
p为将已复制的数据粘贴到光标下一行,P则粘贴到光标的上一行。 |
| J |
将光标所在行与下一行的数据结合成一行 |
| u |
复原前一个操作(常用) |
| [Ctrl或control] +[r] |
重做上一个操作(常用) |
| . |
这是一个小数点。重复前一个操作的意思(常用) |
一般模式切换到编辑模式可用按钮
| 按键 |
说明 |
| i,l |
i为在当前光标处插入数据,I为在当前行第一个字符处插入数据。(常用) |
| a,A |
a为从目前光标所在的下一个字符处开始插入;A为从光标所在行的最后一个字符处开始插入 |
| o,O |
o为在目标所在行的下一行处插入新的一行;O为上一行插入新的一行(常用) |
| r,R |
r只会替换光标所在的哪一个字符一次;R会一直替换光标所在的文字,只到按下Ese键为止(常用) |
| Esc |
退出编辑模式,回到一般模式中(常用) |
一般模式切换到命令模式的可用按钮
| 按键 |
说明 |
| :w |
将编辑的数据写入硬盘文件中(常用) |
| :w! |
若文件属性为只读,强制写入该文件。不过,到底能不能写入,还是跟你对改文件的文件权限有关 |
| :q |
离开vim (常用) |
| :q! |
若曾修改过文件,又不想保存,使用 ‘!’为强制离开且不保存 |
| :wq |
保存后离开,加!就是强制保存后离开 |
| ZZ |
这是大写Z。若文件没有改动,则不保存离开;若文件已经被改动过,则保存后离开 |
| :w[filename] |
将编辑的数据保存为另一个文件(类似于另存为) |
| :r[filename] |
在编辑的数据中,读入另一个文件的数据,即将”filename” 这个文件内容加到光标所在行到后面 |
| :n1,n2 w [filename] |
将n1到n2点内容保存为filename这个文件 |
| :! command |
暂时离开vim到命令行模式下执行command到显示结果。 例如 “:! ls /home” |
| :set nu |
显示行号 |
| :set nonu |
取消行号 |
“!” 一般代表强制的意思。强制不一定成功,还和文件权限有关
阅读: 55