Vim常用命令总结

1 篇文章 0 订阅
h j k l         分别对应于:←,↓,↑,→

Ctrl+f          向下翻一页(forward)
Ctrl+b          向上翻一页(back)
Ctrl+d          向下翻半页(down)
Ctrl+u          向上翻半页(up)

H               屏幕顶行首字符
M               屏幕中间首字符
L               屏幕末行首字符
gg              当前文件首行首字符
G               当前文件末行首字符
【n】G          跳转到第n行

J               合并光标所在行和下一行
【n】< Enter>   下移n行
0               行首
$               行尾

dd              删除当前行
【n】dd          删除光标以下的n行
dw              删除一个word
d0              删除从光标所在位置到该行行首
d$              删除从光标所在位置到该行行尾
dG              删除当前行到文件末尾
d1G             删除当前行到文件首部
x               向后删除一个字符(相当于delete)
X               向前删除一个字符(相当于Backspace)
【n】x/X         向后(前)删除n个字符

yy              复制当前行
【n】yy          复制当前行以下的n行
yG              复制从当前行到最后一行
y1G             复制从当前行到第一行
y0              复制当前位置到行首
y$             复制当前位置到行尾

p               在光标下一行粘贴
P               在光标上一行粘贴

i               在当前光标前一个字符插入
a               在当前光标后一个字符插入
I               在当前行的首个非控制字符处插入(行首)
A               在当前行的最后一个非控制字符处插入(行尾)

/word           向后查找word                n    按当前方向的下一个查找结果
?word           向前查找word                N   按当前方向反方向的下一个查找结果
:n1,n2s/word1/word2/gc             n1行到n2之间,用word2替换word1,有c则替换前需确认
:0,$s/word1/word2/g                整个文件中查找word1,并用word2替换,没有c则替换前不需确认

v               进入字符模式,可选中连续的字符
V               进入行模式,可选中连续的行
Ctrl+v          进入块模式,可选中一个矩形块

块编辑模式下,两个很有用的命令,第一个是在行首批量插入string,第二个是在行尾批量插入string
Ctrl+v,选中行(块),I,输入string,两次ESC 
Ctrl+v,选中行(块),$,A,输入string,两次ESC 

vim -o file1 file2      水平分割(上下两个)窗口,同时打开两个文件
vim -O file1 file2      垂直分割(左右两个)窗口,同时打开两个文件
两次Ctrl+w可以在两个窗口间切换 
:sp file        水平方向另起一个窗口打开文件file
:vs  file       垂直方向另起一个窗口打开文件file
切换到某一个窗口后,输入命令 :q可以关闭某一个窗口,:qa表示关闭所有窗口(a是all的意思)

若已经打开一个文件,不想分割窗口在打开一个文件,则
:e file         可再打开一个文件
:ls             可列出当前打开的文件(查看文件编号ID:bd             关闭当前缓冲区(当前文件)
:bdID】       关闭文件号为ID的缓冲区
b【ID】         切换到编号为ID的缓冲区
Ctrl+^          切换到下一个缓冲区(:e#   也有类似的功能)
若用:q 命令则关闭所有缓冲区

:!command       在当前环境下调用bash执行command命令
:r file         在当前光标的下一行读(插)入文件file
:r !command     调用bash执行command命令,并将结果插入到当前光标下一行
:3  !cmd        将第三行作为bash命令执行,并将结果替换为第三行上
:3  w  !cmd     将第三行作为bash命令执行并显示
:1,3  !cmd      将13行之间的字符串作为bash命令执行,并将结果替换到13行之间
:1,3  w  !cmd   将13行之间作为bash命令执行并显示结果
:w !sudo tee %  当打开一个无权限写的文件时,用此命令强制写

在代码编写时的匹配,标签与跳转
%               跳转到匹配的括号另一端([, (,  { 三种)
[[              跳转到代码块的开头(要求左大括号“{”单独成行)
''(两个反引号)  跳转到上一次光标所在位置
gD              跳转到局部变量声明处
m【x】           x=a~z,将当前位置设置为标签x
`【x】(反引号)   跳转到x标签处

:set ts=4       设置TAB缩进为4(默认为8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值