主要是一些Vim常用的命令记录于此,方便查阅摘抄出处
1.简介
vim是linux最常用的编辑器,很多linux发行版默认安装了vi。其中 vi 是这个名称的缩写:visual interface 的缩写。
一般vim有3种模式:一般模式,编辑模式,命令模式。
2.一般模式可用按钮和说明
| 按键 | 说明 |
|---|
| 移动,查找,替换 | |
| h或左箭头 | 光标左移动一个字符 |
| j或右箭头 | 光标右移动一个字符 |
| k或上箭头 | 光标向上移动一个字符 |
| i或下箭头 | 光标向下移动一个字符 |
| n+上下左右 | n为数字,向上下左右移动n个字符 |
| 「ctrl」+f | 屏幕向下移动一页,相当于page down |
| 「ctrl」+b | 屏幕向上移动一页,相当于page up |
| 0或home键 | 光标移动到行首 |
| $或end键 | 光标移动到行尾 |
| G | 光标移动到文件的最后一行 |
| nG | 光标移动到文件的第n行 |
| gg | 移动到首行,相当于1G |
| /word | 向下查找关键字为word的字符串,使用n或N向上查找或向下查找关键词 |
| ?word | 向上查找关键词为word的字符串,使用n或N同上 |
| :n1,n2s/word1/word2/g | n1,n2为数字,表示在n1和n2行之间寻找word1的字符串,将该字符串替换成word2。例:100,200s/aaa/bbb/g |
| :1,$s/word1/word2/g | 从第一行到最后一行替换。例:1,$s/aaa/bbb/g |
| :1,$s/word1/word2/gc | 从第一行到最后一行替换,替换前确认。 |
| 删除,复制,粘贴 | |
| x,X | x向后删除,相当于del。X向前删除,相当于退格键。 |
| nx | n为数字,表示向后删除n个字符。 |
| dd | 删除光标所在的那一行。 |
| ndd | 向下删除n行。 |
| d1G | 删除当前位置到第一行的数据。 |
| dG | 删除当前位置到最后一行的数据。 |
| d$ | 删除当前位置到该行最后一个字符的的数据。 |
| d0 | 删除当前位置到该行第一个字符的所有数据。 |
| yy | 复制光标所在的这一行。 |
| nyy | 向下复制n行。 |
| y1G,yG,y$,y0 | 同上d |
| p,P | 粘贴,将复制的数据,在光标所在的行的下面一行开始粘贴。P粘贴在上一行。 |
| J | 光标所在行与下面一行的数据,合并成一行。 |
| u | 恢复前一个操作 |
| [ctrl]+u | 重做上一个操作。 |
3. 一般模式切换到编辑模式
| 按钮 | 说明 |
|---|
| i,I | 进入插入模式。i在光标前插入,I所在行第一个非空格符处插入 |
| a,A | 进入插入模式,a在光标下一个字符插入,A为所在行的最后一个字符处插入。 |
| o,O | 进入插入模式,o在所在行的下面一行,插入新的一行。O,在所在行的上面一行,插入新的一行。 |
| r,R | 进入替换模式,r替换光标所在的那一个字符一次。R替换光标所在的字符,到按Esc键终止。 |
4. 一般模式到命令行模式
| 按钮 | 说明 |
|---|
| :w | 保存,将编辑的数据写入磁盘文件 |
| :w! | 强制保存 |
| :q | 直接退出 |
| :q! | 强制退出 |
| :wq :x | 保存并退出 |
| ZZ | 保存并退出 |
| :w [filename] | 将文件保存为另一个文件 |
| :r [filename] | 将filename的内容添加到光标所在后面的行。 |
| :n1,n2 w [filename] | 将n1到n2行的数据保存为新文件 |
| :! command | 暂时离开vi到命令行模式下执行command命令 |
| :set nu | 显示行号 |
| :set nonu | 取消行号显示 |
5. 块选择
| 按键 | 说明 |
|---|
| v | 字符选择,光标经过的地方会反白显示 |
| V | 行选择,光标经过的行会反白显示 |
| [ctrl]+v | 块选择,以长方形的方式选择。 |
| y | 将选中的数据复制 |
| d | 将选中的数据删除 |
6. 多文件编辑
使用 vim file1 file2 可以实现同时打开两个文件。
| 案件 | 说明 |
|---|
| :n | 编辑下一个文件 |
| :N | 编辑上一个文件 |
| :file | 列出这个vim打开的所有文件 |
7. 多窗口编辑
| 按键 | 说明 |
|---|
| :sp [filename] | 打开一个新的窗口,加filename打开新的文件,不加则打开同一个文件,同步显示。 |
| [ctrl]+w+j \下箭头 | 光标移动到下一个窗口,按住ctrl和w,松开再看j |
| [ctrl]+w+k\ 上箭头 | 光标移动到上一个窗口。 |
| [ctrl]+w+q | 结束光标所在的窗口 |
8. vim环境设置与记录:~/.vimrc,~/.viminfo
vim会主动将你曾经做过的行为记录下来,这个记录操作的文件就是:~/.viminfo