Vim常用快捷键

【Vim常用快捷键】一万年来谁著史,三千里外欲封侯。这篇文章主要讲述Vim常用快捷键相关的知识,希望能为你提供帮助。

Vim常用快捷键一、移动光标 h j k l 上 下 左 右 ctrl-y 上移一行 ctrl-e 下移一行 ctrl-u 上翻半页(up) ctrl-d 下翻半页(down) ctrl-f 上翻一页(forward) ctrl-b 下翻一页(backward) w 跳到下一个字首,按标点或单词分割 W 跳到下一个字首,长跳,如end-of-line被认为是一个字 e 跳到下一个字尾 E 跳到下一个字尾,长跳 b 跳到上一个字 B 跳到上一个字,长跳 0 跳至行首,不管有无缩进,就是跳到第0个字符 ^ 跳至行首的第一个字符 $ 跳至行尾 gg 跳至文首 G 调至文尾 5gg/5G 调至第5行 gd 跳至当前光标所在的变量的声明处 fx 在当前行中找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复的输入fx * 查找光标所在处的单词,向下查找 # 查找光标所在处的单词,向上查找 二、删除复制 dd 删除光标所在行 dw 删除一个字(word) d/D 删除到行末 x 删除当前字符 X 删除前一个字符 yy 复制一行 yw 复制一个字 y/Y 复制到行末 p 粘贴粘贴板的内容到当前行的下面 P 粘贴粘贴板的内容到当前行的上面 三、插入模式 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命令 在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器 可以"!command",运行结束后自动回到VIM编辑器中 用“Ctrl+Z“回到shell,用fg返回编辑 :!make -> 直接在当前目录下运行make指令 十、VIM启动项 -o[n] 以水平分屏的方式打开多个文件 -O[n] 以垂直分屏的方式打开多个文件 十一、自动排版 在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定十二、如何在vim中编译程序 在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。十三、buffer操作 buffer状态 - (非活动的缓冲区) a (当前被激活缓冲区) h (隐藏的缓冲区) % (当前的缓冲区) # (交换缓冲区) = (只读缓冲区) + (已经更改的缓冲区) 十四、 VIM 操作目录 1.打开目录 vim . vim a-path/ 2.以下操作在操作目录时生效 p,P,t,u,U,x,v,o,r,sc 使当前打开的目录成为当前目录 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 中复制,移动文件mt - 移动到的目录 mf - 标记要移动的文件 mc - 移动/复制 R 移动文件打开当前编辑文件的目录:Explore :Hexplore :Nexplore :Pexplore :Sexplore :Texplore :Vexplore


    推荐阅读