Linux Vim常用快捷键

时间:2023-01-27 16:53:55
Linux Vim常用快捷键

服务器上操作,经常要用vim查看编辑文件内容,不懂快捷键导致效率很低,于是就查阅网络资料总结了一下vim常用的快捷键。

1、删除

x    小写的 x 表示向后删除一个字符,也就是删除光标所在的字符
nx   表示向后删除 n 个字符
X    大写的 X 表示向前删除一个字符,即光标前的一个字符,不包括光标所在字符
nX   表示向前删除 n 个字符

2、复制

yy    复制光标所在的行
nyy   复制光标所在的向下 n 行
y1G   复制光标所在的行到第一行数据
yG    复制光标所在的行到最后一行数据
y0    复制光标所在的位置到该行第一个字符
y$    复制光标所在的位置到该行最后一个字符

3、剪切

dd    剪切当前行
ndd   剪切 n 行
dw    从光标处剪切到一个单词的末尾,包括空格
de    从光标处剪切打一个单词的末尾,不包括空格
d$    从当前光标处剪切到行末
d0    从当前光标处(不包括光标位置)剪切到行首
dH    剪切当前行到所显示屏幕顶行的全部行
dM    剪切当前行到命令M所指定行的全部行
dL    剪切当前行到所显示屏幕底的全部行

4、粘贴

p    小写p表示将已经复制的数据粘贴到光标的下一行
P    大写P表示将已经复制的数据粘贴到光标的上一行

5、插入

i    小写的 i 表示在光标前插入
I    大写的 I 表示在行首插入
a    小写的 a 表示在光标后插入
A    大写的 A 表示在行末插入
o    小写的 o 表示在当前行的下面另起一行,并变为插入模式
O    大写的 O 表示在当前行的上面另起一行,并变为插入模式

6、移动

fx    向右跳到本行字符 x 右处(x可以是任意字符)
Fx    向左跳到本行字符 x 左处
tx    向右跳到本行字符 x 左处
Tx    向左跳到本行字符 x 右处
#     到与当前单词相同的上一个单词上
*     到与当前单词相同的下一个单词上
'     移动到上一次修改行

b     向前移动
nb    向前移动 n 个单词(标点也算一个单词,相应的大写状态为不含标点,即只把空格和换行符作为单词间隔符)
w     向后移动
nw    向后移动 n 个单词

$     移动到行尾
n$    移动到 n 行尾
^     移动到行首,0 也是
+     移动到下一行的行首
—     移动到上一行的行首

gg    文件头
G     文件末尾
n%    跳转到文件的 n% 处
H(Home)、M(Middle)、L(Last),当前屏幕的上中下位置,不区分大小写
Ctrl+G    显示当前位置

Ctrl+u\d    向上\向下滚动半屏
Ctrl+e\y    向上\向下滚动一行
Ctrl+b\f    向上\向下滚动一屏

zz    将当前行滚动与屏幕中间,方便查看上下文
zt    置顶
zb    置尾

7、其它

J    大写J表示将光标所在的行与下一行的数据合并为一行
nJ     合并光标所在的行开始后面的 n 行
u    小写u表示撤销上一步操作
ctrl+r    与u相反,表示重做前一步操作

.    点,表示重复前一个操作,例如:想多次复制,一直按这个点就可以了

set number    显示行号
set nonumber    关闭显示

注:以上操作均是在非编辑模式下进行