VIM快捷按键学习笔记
| Shift + k | 跳转函数定义手册,qq退出 |
| Ctrl + p Ctrl + n | 触发关键词自动补全 |
| Ctrl + d | 命令行补全 :e 按 CTRL-D ,VIM会显示以“e”开头的清单 |

键入 / ,接上要向前搜索的短语。
键入 ? 接上要向后搜索的短语
搜索后,按n 以相同的方向搜索下一事件,按N以相反的方向搜索。
CTRL-O 使你返回到以前的位置,CTRL-I 回到以后的位置 。
| :#,#s/old/new/g | 在#到#两行间,以new 替换所有的old |
| :s/old/new | 在一行中以new替换第一个old |
| :s/old/new/g | 在一行中以new替换所有的old |
| :%s/old/new/g | 更改全文件中的所有事件 |
| :%s/old/new/gc | 更改全文件中的所有事件,并给出替换与否的提示 |
| v motion :w FILENAME saves the Visually selected lines in file FILENAME |
| 按 v 并移动 光标,按 :字符,屏幕底会显示 :'<,'>,按 w TEST ,其中 TEST 是一个不存在 的文件。(确认按 |
| :r FILENAME retrieves disk file FILENAME and puts it below the cursor position. |
| :r FILENAME 恢复磁盘文件FILENAME到光标下 |
| :!ls - 显示目录清单 |
| :!rm FILENAME - 移除 FILENAME文件 |
| :w FILENAME 将当前的vim 文件以FILENAME 文件名写进磁盘 |
| control + [ 这两个按键取代 |
| i | 是在光标所在的字符之前插入需要录入的文本。 |
| I | 是在光标所在行的行首插入需要录入的文本。 |
| a | 是在光标所在的字符之后插入需要录入的文本。 |
| A | 是在光标所在行的行尾插入需要录入的文本。 |
| o | 是光标所在行的下一行行首插入需要录入的文本。 |
| O | 是光标所在行的上一行行首插入需要录入的文本。 |
| s | 删除光标所在处的字符然后插入需要录入的文本。 |
| S | 删除光标所在行,在当前行的行首开始插入需要录入的文本。 |
| i 在光标之前,进入插入模式 I 在本行开头,进入插入模式 a 在光标之后,进入插入模式 A 在本行结尾,进入插入模式 o 在本行之后新增一行,并进入插入模式 O 在本行之前新增一行,并进入插入模式 s 删除当前字符,并进入插入模式 S 删除当前行中的所有文本,并进入插入模 |
Tab 常见的几个命令如下:
| :tabnew web | 使用 :tabnew 创建一个名字叫 web 的 tab ,当然名字也可以没有,这样会创建一个没有名字的 tab |
| :tabedit 文件名 | 在新标签页中打开指定的文件 |
| :tab split | 保留当前标签页,并在新标签页中打开当前缓冲区中的文件 |
| :tab ball | 如果打开了多个缓冲区,该命令将为每一个打开的缓冲区,分别新建单独的标签页 |
| :tabfind | 搜索并在新标签页中打开文件 比如想打开当前目录下的img.txt文件,那么就可以使用:tabfind img.*命令。请注意,此命令只能打开一个文件,如果搜索出多个匹配文件,将提示“E77: 文件名过多”, 需要给出更精确的搜索条件以打开文件。此命令搜索文件的范围,是由path选项指定的。例如以下命令将指定搜索包含当前文件的目录(.),当前目录(两个逗号之间的空格), 以及当前目录下的所有子目录(**)::setpath=.,,** |
| :tabclose | 关闭当前标签页 |
| :tabonly | 保留当前标签页,而关闭其它所有的标签页 |
| :tabc | 关闭当前的 tab |
| :tabn | 切换到下一个 tab |
| :tabp | 切换到上一个 tab |
| :tabs | 查看一共有几个 tab,显示已打开标签页的列表,并用“>”标识出当前页面,用“+”标识出已更改的页面 |
| gt | 移动到下一个标签页 |
| gT | 移动到上一个标签页(如果已经到达最后面或最前面的标签页,将会自动转向循环) |
| 1gt | 这是上一个命令的拓展,按下数字键(1,2,3,4……)和 gt ,将切换到相应顺序的 tab, tab 的序号默认从 1 开始,上面的命令将会切换到第一个 tab 。 |
| :tabfirst或:tabr | 移动到第一个标签页 |
| :tablast | 移动到最后一个标签页 |
Vim 7.0开始引入了多标签页(Tabs)概念,用于同时编辑多个文件,每一个标签页也可以包含多个缓冲区或窗口。

标签页的特殊之处在于:
| 通常作用于所有打开的缓冲区和窗口的命令(比如 :bufdo, :windo, :all, and :ball等)将只影响当前标签页中的缓冲区和窗口。 |
| Vim初始化时传入-p参数后跟多个文件,此时每个文件对应一个tab。 |
| 例如打开三个文件,每个文件对应一个tab: vim -p file1 file2 file3 |
| Tab的标签默认显示当前缓冲区的文件名。 |
| 如果在同一标签页中打开了多个缓冲区,那么标签也会显示打开缓冲区的总共数目 |
| 例如vim file1 file2 file3,参数中的所有文件都会被载入缓冲区 |
"+" 表示已经修改过的页面。而"2+" 则表示有3个窗口,其中一个已经更改。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
