Vim的一些快捷键记录:
一、移动光标
| 按键 |
功能 |
说明 |
| h,j,k,l |
上,下,左,右 |
| ctrl-e |
移动页面 |
| ctrl-f |
上翻一页 |
| ctrl-b |
下翻一页 |
| ctrl-u |
上翻半页 |
| ctrl-d |
下翻半页 |
| w |
跳到下一个字首,按标点或单词分割 |
| W |
跳到下一个字首,长跳,如end-of-line被认为是一个字 |
| e |
跳到下一个字尾 |
| E |
跳到下一个字尾,长跳 |
| b |
跳到上一个字 |
| B |
跳到上一个字,长跳 |
| 0 |
跳至行首,不管有无缩进,就是跳到第0个字符 |
| ^ |
跳至行首的第一个字符 |
| $ |
跳至行尾 |
常用 |
| gg |
跳至文首 |
常用 |
| G |
调至文尾 |
常用 |
| 5gg/5G |
调至第5行 |
| gd |
跳至当前光标所在的变量的声明处 |
| fx |
在当前行中找x字符,找到了就跳转至 |
| ; |
重复上一个f命令,而不用重复的输入fx |
| * |
查找光标所在处的单词,向下查找 |
| # |
查找光标所在处的单词,向上查找 |
二、删除复制
| 按键 |
功能 |
说明 |
| dd |
删除光标所在行 |
| dw |
删除当前字符至行末 |
| D |
删除当前字符至行末 |
| x |
删除当前字符 |
| X |
删除前一个字符 |
| yy |
复制一行 |
| Y |
复制一行 |
| yw |
复制到行末 |
| 按esc后,然后ggvG或者ggVG |
全选(高亮显示) |
| 按esc后,然后ggyG |
全部复制 |
| 按esc后,然后dG |
全部删除 |
三、插入模式
| 按键 |
功能 |
说明 |
| i |
从当前光标处进入插入模式 |
| I |
进入插入模式,并置光标于行首 |
| a |
追加模式,置光标于当前光标之后 |
| A |
追加模式,置光标于行末 |
| o |
在当前行之下新加一行,并进入插入模式 |
| O |
在当前行之上新加一行,并进入插入模式 |
| Esc |
退出插入模式 |
四、编辑
| 按键 |
功能 |
说明 |
| J |
将下一行和当前行连接为一行 |
| cc |
删除当前行并进入编辑模式 |
| cw |
删除当前字,并进入编辑模式 |
| c$ |
擦除从当前位置至行末的内容,并进入编辑模式 |
| s |
删除当前字符并进入编辑模式 |
| S |
删除光标所在行并进入编辑模式 |
| xp |
交换当前字符和下一个字符 |
| u |
撤销 |
| ctrl+r |
重做 |
| ~ |
切换大小写,当前字符 |
| >> |
将当前行右移一个单位 |
| << |
将当前行左移一个单位(一个tab符) |
| == |
自动缩进当前行 |
五、查找替换
| 按键 |
功能 |
说明 |
| /pattern |
向后搜索字符串pattern |
| ?pattern |
向前搜索字符串pattern |
| "\c" |
忽略大小写 |
| "\C" |
大小写敏感 |
| n |
下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个) |
| N |
上一个匹配(同上) |
| :%s/old/new/g |
搜索整个文件,将所有的old替换为new |
| :%s/old/new/gc |
搜索整个文件,将所有的old替换为new,每次都要你确认是否替换 |
六、退出编辑器
| 按键 |
功能 |
说明 |
| :w |
将缓冲区写入文件,即保存修改 |
| :wq |
保存修改并退出 |
| :x |
保存修改并退出 |
| :q |
退出,如果对缓冲区进行过修改,则会提示 |
| :q! |
强制退出,放弃修改 |
七、多文件编辑
| 按键 |
功能 |
说明 |
| vim file1.. |
同时打开多个文件 |
| :args |
显示当前编辑文件 |
| :next |
切换到下个文件 |
| :prev |
切换到前个文件 |
| :next! |
不保存当前编辑文件并切换到下个文件 |
| :prev! |
不保存当前编辑文件并切换到上个文件 |
| :wnext |
保存当前编辑文件并切换到下个文件 |
| :wprev |
保存当前编辑文件并切换到上个文件 |
| :first |
定位首文件 |
| :last |
定位尾文件 |
| ctrl+^ |
快速在最近打开的两个文件间切换 |
| :split[sp] |
把当前文件水平分割 |
| :split file |
把当前窗口水平分割, file |
| :vsplit[vsp] file |
把当前窗口垂直分割, file |
| :new file |
同split file |
| :close |
关闭当前窗口 |
| :only |
只显示当前窗口, 关闭所有其他的窗口 |
| :all |
打开所有的窗口 |
| :vertical all |
打开所有的窗口, 垂直打开 |
| :qall |
对所有窗口执行:q操作 |
| :qall! |
对所有窗口执行:q!操作 |
| :wall |
对所有窗口执行:w操作 |
| :wqall |
对所有窗口执行:wq操作 |
| ctrl-w h |
跳转到左边的窗口 |
| ctrl-w j |
跳转到下面的窗口 |
| ctrl-w k |
跳转到上面的窗口 |
| ctrl-w l |
跳转到右边的窗口 |
| ctrl-w t |
跳转到最顶上的窗口 |
| ctrl-w b |
跳转到最底下的窗口 |
八、多标签编辑
| 按键 |
功能 |
说明 |
| :tabedit file |
在新标签中打开文件file |
| :tab split file |
在新标签中打开文件file |
| :tabp |
切换到前一个标签 |
| :tabn |
切换到后一个标签 |
| :tabc |
关闭当前标签 |
| :tabo |
关闭其他标签 |
| gt |
到下一个tab |
| gT |
到上一个tab |
| 0gt |
跳到第一个tab |
| 5gt |
跳到第五个tab |
九、执行shell命令
| 按键 |
说明 |
| 1、在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器 |
| 2、可以"!command",运行结束后自动回到VIM编辑器中 |
| 3、用“Ctrl+Z“回到shell,用fg返回编辑 |
| 4、:!make -> 直接在当前目录下运行make指令 |
十、VIM启动项|
| 按键 |
说明 |
| -o[n] |
以水平分屏的方式打开多个文件 |
| -O[n] |
以垂直分屏的方式打开多个文件 |
十一、自动排版
| 按键 |
说明 |
| 在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定 |
十二、如何在vim中编译程序
| 按键 |
说明 |
| 在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。 |
十三、buffer操作
| 按键 |
说明 |
| 1、buffer状态 |
| - |
(非活动的缓冲区) |
| a |
(当前被激活缓冲区) |
| h |
(隐藏的缓冲区) |
| % |
(当前的缓冲区) |
| # |
(交换缓冲区) |
| = |
(只读缓冲区) |
| + |
(已经更改的缓冲区) |
十四、 VIM 操作目录
| 按键 |
说明 |
| 1.打开目录 |
| vim . |
| vim a-path/ |
| 2.以下操作在操作目录时生效 |
| p,P,t,u,U,x,v,o,r,s |
| c |
使当前打开的目录成为当前目录 |
| d |
创建目录 |
| % |
创建文件 |
| D |
删除文件/目录 |
| - |
转到上层目录 |
| gb |
转到上一个 bookmarked directory |
| i |
改变目录文件列表方式 |
| ^l |
刷新当前打开的目录 |
| mf - |
标记文件 |
| mu - |
unmark all marked files |
| mz - |
Compress/decompress marked files |
| gh |
显示/不显示隐藏文件( dot-files) |
| ^h |
编辑隐藏文件列表 |
| a |
转换显示模式, all - hide - unhide |
| qf |
diplay infomation about file |
| qb |
list the bookmarked directories and directory traversal history |
| gi |
Display information on file |
| mb |
| mc |
| md - |
将标记的文件(mf标记文件)使用 diff 模式 |
| me - |
编辑标记的文件,只显示一个,其余放入 buffer 中 |
| mh |
| mm - |
move marked files to marked-file target directory |
| mc - |
copy |
| mp |
| mr |
| mt |
| vim 中复制,移动文件 |
| 1, mt - |
移动到的目录 |
| 2, mf - |
标记要移动的文件 |
| 3, mc - |
移动/复制 |
| R 移动文件 |
| 打开当前编辑文件的目录 |
| :Explore |
| :Hexplore |
| :Nexplore |
| :Pexplore |
| :Sexplore |
| :Texplore |
| :Vexplore |
文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。
原文链接:allen5g.blog.csdn.net/article/details/118769795
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)