移动光标的方法(一般模式)
| 按键 | 说明 |
|---|---|
| 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 | 取消行号 |
“!” 一般代表强制的意思。强制不一定成功,还和文件权限有关
