VIM常用快捷键

来源:互联网 发布:朝阳区达内java培训 编辑:程序博客网 时间:2024/06/11 20:13
一、移动光标
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          删除一个字(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命令
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 (隐藏的缓冲区)% (当前的缓冲区)# (交换缓冲区)= (只读缓冲区)+ (已经更改的缓冲区)

原创粉丝点击