Vim常用快捷键整理

Vim常用快捷键整理


注意:本文中的记忆方法只是参考,非官方解释

1. 移动光标

按键功能记忆方法
h光标向左方向键最左边一个
j光标向下j 的长角向下
k光标向上k 的长角向上
l光标向右方向键最右边一个
ctrl + f上翻一页f 表示 front, ctrl 表示翻页
ctrl + b下翻一页b 表示 back,ctrl 表示翻页
ctrl + u上翻半页u 表示 up,ctrl 表示翻页
ctrl + d下翻半页d 表示 down,ctrl 表示翻页
w跳到下一个字首,按标点或空格分割word
W长跳,只按空格分割WORD, 大写跳得快
e跳到下一个字尾,按标点或空格分割end
E长跳,只按空格分割END, 大写跳得快
b跳到上一个字back
B跳到上一个字,长跳BACK,大写跳得快
0跳至行首,不管有无缩进,跳到第0个字符0表示行首,开头
^跳至行首的第一个字符,只到内容的第一个帽子表示第一个
$跳至行尾结束的时候要付费,美元符表示行尾
gg跳至文首小写表示开头,一个g表示gun,两个g又gun回来
G跳至文末那一行大写表示末尾,gun
5gg/5G跳到第5行数字表示行号,gun gun / Gun
gd跳至当前光标所在的变量的声明处gun去define
fx在当前行中找x字符,找到了就跳转,否则不跳find x
;重复上一个f命令分号,重复find
*查找光标所在处的单词,向下查找星号匹配 向下
#查找光标所在处的单词,向上查找井号匹配 向上

2. 删除复制

按键功能记忆方法
dd删除光标所在行delete delete 删除一行
dw删除一个字delete word
d$ / D删除到行末Delete 大写删至行末
x删除当前字符x是删除,小写删当前
X删除前一个字符大写删前者
yy复制一行y是复制(跟在x后面), 两个y复制整行
yw复制一个字yw表示复制一个字
y/Y复制到行末y/Y表示复制到行末
p粘贴粘贴板的内容到当前行的下面paste
P粘贴粘贴板的内容到当前行的上面Paste,大写往上一行粘

3. 插入模式

按键功能记忆方法
i从光标当前位置插入insert
I进入插入模式,并置光标于行首大写从头插入
a追加模式,置光标于当前光标之后add
A追加模式,置光标于行末大写加到行末
o在当前行之下新加一行,并进入插入模式open a new line
O在当前行之上新加一行,并进入插入模式大写表示在本行之上插入
ESC退出插入模式退出模式基本都一样

4. 编辑

按键功能记忆方法
J将下一行和当前行连接为一行join
cc删除当前行并进入编辑模式clean clear
cw删除当前字,并进入编辑模式clear word
c$擦除从当前位置至行末的内容,并进入编辑模式clear to 行尾
s删除当前字符并进入编辑模式strike out
S删除光标所在行并进入编辑模式大写表示行删除
xp交换当前字符和下一个字符x是剪切,p是粘贴,so你懂的
u撤销Undo
ctrl + r重做re-do
~切换大小 写,当前字符取反符号,切换大小写
>>将当前行右移一个单位右移符号
<<将当前行左移一个单位左移符号
==自动缩进当前行等等vim自动缩进

5. 查找替换

按键功能记忆方法
/pattern向后搜索字符串pattern/向后查询
?pattern向前搜索字符串pattern?向前查询,跟/ 在同一个键位上
“\c”忽略大小写,用法是写在pattern的最前面/\chellocharacter c 小写表示忽略大小写
“\C”大小写敏感,用法是写在pattern的最前面,如/\ChelloC大写表示不忽略大小写
n下一个匹配(如果是/搜索,则是向下的下一个,如果是?搜索,则是向上的下一个next
N上一个匹配(同上)Next,大写表示反向
:%s/old/new/g搜索整个文件,将所有的old替换为new%s substitute g表示末尾
:%s/old/new/gc搜索整个文件,将所有的old替换为new,每次替换都要人工确认c表示 command

6. 退出编辑器

按键功能记忆方法
:w将缓冲区写入文件,即保存修改存wenjian
:wq保存修改并退出存wenjian & quit
:x保存修改并退出exit safely
:q退出,如果对缓冲区进行过修改,则会提示quit
:q!强制退出,放弃修改quit!!!不用拦我

7. 多文件编辑

按键功能记忆方法
vim file1, file2, …同时打开多个文件一个逗号 多打开一个
:args显示当前编辑的文件参数查看,也就是状态查看
:next切换到下一个文件抬走,下一个
:prev切换到上一个文件Previous,上一个
:next!不保存当前编辑文件并切换到下一个文件下一个!
:prev!不保存当前编辑文件并切换到上一个文件上一个!
:wnext保存当前编辑文件并切换到下个文件wenjian 下一个
:wprev保存当前编辑文件并切换到上个文件wenjian 上一个
:first定位首文件第一个
:last定位尾文件最后一个
ctrl + ^快速在最近打开的两个文件间切换帽子切换
:split[sp]把当前文件水平分割split分割
:split file把当前窗口水平分割, file分割 file
:vsplit[vsp] file把当前窗口水平分割,file垂直 分割 file
:new file同split file新打开一个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跳转到最底下的窗口移动到最底部

8. 多标签编辑

按键功能记忆方法
:tabedit file在新标签中打开文件filetab 标签 edit 编辑
:tab split file在新标签中打开文件filetab 标签 split 分离
:tabp切换到前一个标签tab 标签 p previous 前一个
:tabn切换到后一个标签tab 标签 n next 后一个
:tabc关闭当前标签tab 标签 c close关闭
:tabo关闭其他标签tab 标签 o other 其他
gt到下一个tabgo to tab
gT到上一个tab大写表示反向
0gt跳到第一个tab0表示首个
5gt跳到第五个tab5表示第五个

9. 执行shell命令

按键功能记忆方法
命令模式下:sh进入shellshell
命令模式下exit或ctrl + D返回VIM退出
!command执行一条命令,命令完成后立即返回VIM!惊叹号,中断临时运行
ctrl + Z / fg返回shell / 返回VIM编辑组合使用,file go 返回
:!make ->直接在当前目录下运行make指令!编译

10. VIM启动时分屏显示

按键功能记忆方法
vim -o t1.txt, t2.txt, …以水平分屏的方式打开多个文件-open 同时打开多个, 小写表示水平方向展开
vim -O t1.txt, t2.txt, …以垂直分屏的方式打开多个文件-Open同时打开多个,大写表示垂直方向展开

11. 格式化代码(自动缩进)

按键功能记忆方法
编辑模式下直接ESC后输入gg=G将代码全部格式化gg 到达文件最开始 = 要求缩进 G 直到文件尾
编辑模式下直接ESC后输入nG=mG将第n行到第m行的代码格式化nG 第n行 = 要求缩进 mG 直到第m行

12. 自动注释和取消注释

以C++和Python为例.(Ubuntu系统)

连续注释行:

指令的格式应为:起始行, 结束行s/要替换的字符/替换后的字符/g

如:

​ C++源文件中注释掉6~18行,指令应为:

:6,18s/^/\/\//g

其中\/\/是//的转义表示.

Python源文件中注释掉6~18行,指令应为:

:6,18s/^/#/g

取消注释行:

命令跟上述相反,要互换替换字符和被替换字符

​ C++源文件中反注释掉6~18行,指令应为:

:6,18s/^\/\///g

​ Python源文件中反注释掉6~18行,指令应为:

:6,18s/^#//g
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值