Vim常用指令总结(持续更新中)

1 模式变更

命令 说明
a(append)/i(insert) 普通模式→插入模式
: 普通模式→命令行模式
ESC或者Ctrl 插入模式→普通模式
R(Replace)/Insert两次 普通模式→替换模式

2 编辑

命令 说明
dj(k) 删除当前行和下(上)一行
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw(changeword) 替换从光标所在位置后到一个单词结尾的字符
cnw/ncw 替换从光标所在位置后到n个单词结尾的字符

2.1 保存退出相关

命令 说明
:w 路径+文件名 保存文件
:wq 保存并退出编辑
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出
普通模式Shift+zz 保存并退出

2.2 普通模式删除文本

命令 说明
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete x
dd 删除整行
dw 删除一个单词(不适用中文)
d$D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部

2.3 复制粘贴、剪切

  • 普通模式中使用y复制

  • 普通模式中,yy复制游标所在的整行(3yy表示复制3行)

  • 普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。

  • 普通模式中,y$ 复制至行尾。含光所在处字符。

  • 普通模式中,yw 复制一个单词。

  • 普通模式中,y2w 复制两个单词。

  • 普通模式中,yG 复制至文本末。

  • 普通模式中,y1G 复制至文本开头。

  • 普通模式中使用p粘贴

  • 普通模式中,p(小写)代表粘贴至光标后(下)

  • 普通模式中,P(大写)代表粘贴至光标前(上)

2.4 替换和撤销

命令 说明
r+<待替换字母> 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
Ctrl+r redo,即撤销undo的操作

2.5 缩进

命令 说明
>> 整行将向右缩进
<< 整行将向左回退
:shiftwidth 设置缩进距离 :set shiftwidth=4

2.6 调整文本位置

命令 说明
:ce 本行居中
:ri 本行靠右
:le 本行靠左
shift+ctrl+上/下箭头 向上/下移动当前行

3 光标移动

命令 说明
h
l
j
k
w 移动到下一个单词
b 移动到上一个单词
nG(n Shift+g) 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)
gg 游标移动到到第一行
G(Shift+g) 到最后一行
e 到下一个单词的结尾
ge 到前一个单词的结尾
0^ 到行头
$ 到行尾
f<字母>; 向后搜索<字母>并跳转到第一个匹配的位置(非常实用)
F<字母>; 向前搜索<字母>并跳转到第一个匹配的位置
t<字母>; 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)
T<字母>; 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用)

4. 查找

  • 普通模式下输入/icmp查找字符串icmp

  • 普通模式下输入n查找下一个icmp

  • 普通模式下输入?tcp向上查找字符串tcp

  • 普通模式下输入N查找上一个出现的tcp

  • 普通模式下输入*寻找游标所在处的单词

  • 普通模式下输入#同上,但 # 是向前(上)找,*则是向后(下)找

  • 普通模式下输入g** ,但部分符合该单词即可

  • 普通模式下输入g## ,但部分符合该单词即可

原文地址:https://www.cnblogs.com/zyoung/p/6547922.html