屏幕
# 半屏
CTRL-U // 显示文本的窗口向上滚动了半屏
CTRL-D // 命令将窗口向下移动半屏
# 一次滚动一行
CTRL-E // 向上滚动
CTRL-Y // 向下滚动
# 滚动一整屏
CTRL-F // 向下
CTRL-B // 向上
# 重置屏幕
zz // 命令模式把当前行置为屏幕正中央
zt // 命令模式把当前行置于屏幕顶端
zb // 命令模式把把前行置于屏幕底端
光标
^ Home 0 // 光标跳到行头
$ End // 光标跳到行尾
gg // 移动到文件开头
G // 移动到文件末尾
nG // 移动到指定行--20G
n+回车 // 光标向下移动 n 行
n+空格 // 光标向右移动 n 个字符
保存退出
# 命令模式:
:w // 保存
:w! // 强制保存
:q // 退出文件
:q! // 强制退出
:wq // 保存并退出
ZZ // 保存修改并退出
行操作
# 插入
o // 在当前行后面插入一空行;
O // 在当前行前面插入一空行;
# 删除
x // 删除光标所在字符
X // 删除光标前一个字符;
D // 删除当前光标到行尾全部字符
dd // 删除光标行正行内容;
ndd // 删除当前行及其后 n-1行;
# 复制粘贴
yy // 复制所在行
nyy // 复制向下 n 行
p // 从光标的向下一行粘贴
P // 粘贴,并将原内容向后推
查找替换
/string // 查找指定字符串,高亮显示
1,$s/str1/str2/g // 将str1替换为str2
1,$s/str1/str2/gc // 将str1替换为str2,需要确认
其他
# 命令模式
:set nu // 显示行号
:set nonu // 取消行号
# 多标签
:tabe 文件名 // 以新标签打开文件
:tabs // 显示已打开的所有标签
:tabc // 关闭当前标签
:tabn // 移动到下一个标签
:tabp // 移动到上一个标签