Linux - Vim 常用快捷键

Vim 常用快捷键

一、移动光标

快捷键功能
h、j、k、l左、下、上、右
space/Backspace光标右 / 左移一个字符
Enter光标下移一行
) 、(光标移至句尾、 句首
}、{光标移至段落开头、结尾
n、n-光标下移 、上移n行
n$光标移至第n行尾
w跳到下一个字首,按标点或单词分割
W跳到下一个字首,长跳,如end-of-line被认为是一个字
e跳到下一个字尾
E跳到下一个字尾,长跳
b跳到上一个字
B跳到上一个字,长跳
0(注意是数字零)光标移至当前行首
$跳至行尾
H光标移至屏幕顶行
M光标移至屏幕中间行
L光标移至屏幕行
^跳至行首的第一个字符
gg跳至文首
G/shift+g调至文尾
5gg/5G光标移至第5行首
gd跳至当前光标所在的变量的声明处
fx在当前行中找x字符,找到了就跳转至
;重复上一个f命令,而不用重复的输入fx
*查找光标所在处的单词,向下查找
#查找光标所在处的单词,向上查找
:0``或:1`跳到文件第一行(底线命令模式)
:$跳到文件最后一行(底线命令模式)

二、删除复制

快捷键功能
dd删除光标所在行
dw删除一个字(word)
d/D删除到行末
x删除当前字符
X删除前一个字符
yy复制一行
yw复制一个字
y/D删除到行末
y/Y复制到行末
p粘贴粘贴板的内容到当前行的下面
P粘贴粘贴板的内容到当前行的上面

三、插入模式

快捷键功能
i从当前光标处进入插入模式
I进入插入模式,并置光标于行首
a追加模式,置光标于当前光标之后
A追加模式,置光标于行末
o在当前行之下新加一行,并进入插入模式
O在当前行之上新加一行,并进入插入模式
r替换当前字符
R替换当前字符及其后的字符,直至按ESC键
s从当前光标位置处开始,以输入的文本替代指定数目的字符
Esc退出插入模式

四、编辑

快捷键功能
J将下一行和当前行连接为一行
cc删除当前行并进入编辑模式
cw删除当前字,并进入编辑模式
c$擦除从当前位置至行末的内容,并进入编辑模式
s删除当前字符并进入编辑模式
S删除光标所在行并进入编辑模式
xp交换当前字符和下一个字符
u撤销
ctrl+r重做
~切换大小写,当前字符
>>将当前行右移一个单位
<<将当前行左移一个单位(一个tab符)
==自动缩进当前行
:set nu添加行号
gg=G自动排版
-o[n]以水平分屏的方式打开多个文件
-O[n]以垂直分屏的方式打开多个文件

五、查找替换

快捷键功能
/pattern向后搜索字符串pattern
?pattern向前搜索字符串pattern
“\c”忽略大小写
“\C”大小写敏感
n下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N上一个匹配(同上)
:%s/old/new/g搜索整个文件,将所有的old替换为new
:%s/old/new/gc搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

六、保存

快捷键功能
:w保存文件但不退出vim
:w file将修改另外保存到file中,不退出vim
:w!强制保存文件,但不退出vim
:wq保存修改并退出
:wq!强制保存文件,并退出vim
:e!放弃所有修改,从上次保存文件开始再编辑
:q退出,如果对缓冲区进行过修改,则会提示
:q!强制退出,放弃修改

七、可视化

快捷键功能
v按字符选择
V按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。
CTRL+v按块选择

八、屏幕翻滚

命令描述
Ctrl e移动页面
Ctrl u向文件首翻半屏
Ctrl d向文件尾翻半屏
Ctrl f向文件尾翻一屏
Ctrl b向文件首翻一屏
nz将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部.

九、多标签编辑

快捷键功能
:tabedit file在新标签中打开文件file
:tab split file在新标签中打开文件file
:tabp切换到前一个标签
:tabn切换到后一个标签
:tabc关闭当前标签
:tabo关闭其他标签
gt到下一个tab
gT到上一个tab
0gt跳到第一个tab
5gt跳到第五个tab

十、多文件编辑

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跳转到最底下的窗口
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值