vue-java-tutorials/Vim/Vim相关命令.md

6.8 KiB

Vim相关命令

基本移动命令

命令 描述
h 向左移动
j 向下移动
k 向上移动
l 向右移动
w 移动到下一个单词开头
W 移动到下一个单词开头(忽略符号)
b 移动到上一个单词开头
B 移动到上一个单词开头(忽略符号)
e 移动到当前单词末尾
E 移动到当前单词末尾(忽略符号)
0 移动到行首
^ 移动到行首第一个非空白字符
$ 移动到行尾
gg 移动到文件开头
G 移动到文件末尾
:[n] 移动到第 n 行
Ctrl+f 向下翻页
Ctrl+b 向上翻页
H 移动到屏幕顶部
M 移动到屏幕中间
L 移动到屏幕底部

插入模式

命令 描述
i 在光标前插入
a 在光标后插入
I 在行首插入
A 在行尾插入
o 在当前行下方新建一行并插入
O 在当前行上方新建一行并插入
R 进入替换模式(覆盖字符)
Ctrl+h 删除前一个字符(退格键)
Ctrl+w 删除前一个单词
Ctrl+u 删除到行首

编辑命令

命令 描述
x 删除当前字符
X 删除前一个字符
dd 删除当前行
dw 删除到下一个单词开头
db 删除到上一个单词开头
d$ 删除到行尾
d^ 删除到行首
dG 删除到文件末尾
dgg 删除到文件开头
yy 复制当前行
yw 复制到下一个单词开头
y$ 复制到行尾
p 粘贴到光标后
P 粘贴到光标前
u 撤销
Ctrl+r 重做
. 重复上一次修改
J 合并下一行到当前行
>> 向右缩进
<< 向左缩进
== 自动缩进当前行

搜索与替换

命令 描述
/pattern 向前搜索 pattern
?pattern 向后搜索 pattern
n 下一个匹配项
N 上一个匹配项
:%s/old/new/g 全局替换 old 为 new
:%s/old/new/gc 全局替换,每次确认
:s/old/new/g 当前行替换
* 向前搜索当前光标下的单词
# 向后搜索当前光标下的单词
:noh 临时取消搜索高亮

可视模式(选择文本)

命令 描述
v 进入字符可视模式(按字符选择)
V 进入行可视模式(按行选择)
Ctrl+v 进入块可视模式(矩形选择)
ggVGggvG 全选整个文件
o 切换选择的光标端
y 复制选中内容
d 删除(剪切)选中内容
c 修改(删除并进入插入模式)
~ 切换选中内容的大小写

窗口管理

命令 描述
:sp [file] 水平分割窗口
:vsp [file] 垂直分割窗口
Ctrl+w h 移动到左侧窗口
Ctrl+w j 移动到下方窗口
Ctrl+w k 移动到上方窗口
Ctrl+w l 移动到右侧窗口
Ctrl+w w 循环切换窗口
Ctrl+w c 关闭当前窗口
Ctrl+w o 只保留当前窗口
Ctrl+w + 增加窗口高度
Ctrl+w - 减少窗口高度
Ctrl+w > 增加窗口宽度
Ctrl+w < 减少窗口宽度
Ctrl+w = 均衡窗口尺寸

标签页

命令 描述
:tabnew [file] 新建标签页
gt 下一个标签页
gT 上一个标签页
:tabclose 关闭当前标签页
:tabonly 关闭其他标签页
:tabmove [n] 移动标签页到第 n 位置

文件操作

命令 描述
:e file 打开文件
:w 保存文件
:w file 另存为 file
:q 退出
:q! 强制退出不保存
:wq 保存并退出
:x 保存并退出(仅当有修改时)
:saveas file 另存为 file
:r file 插入文件内容到当前位置
:r !command 插入命令输出到当前位置

其他实用命令

命令 描述
:set nu 显示行号
:set nonu 隐藏行号
:set hlsearch 高亮搜索结果
:set nohlsearch 取消高亮搜索结果
:set paste 进入粘贴模式(防止自动缩进)
:set nopaste 退出粘贴模式
:!command 执行外部命令
:help 打开帮助文档
Ctrl+g 显示当前文件信息
:%!command 用命令处理整个文件(如 :%!sort 排序)