🧠 Vim 常用操作总结
📌 快速跳转
操作 | 命令 | 说明 |
---|---|---|
跳到文件开头 | gg | 移动到第 1 行 |
跳到文件结尾 | G | 移动到最后一行 |
跳到当前行行首 | 0 | 精确到第 0 列 |
跳到当前行第一个非空字符 | ^ | 跳到第一个非空字符 |
跳到当前行行尾 | $ | 移动到当前行末尾字符 |
✏️ 多行注释与取消注释(无插件方式)
添加注释(以 #
为例):
-
进入可视行模式,选中多行:
V
+j/j/...
-
输入命令:
:s/^/# /
取消注释:
:s/^#\s\?//
使用块模式注释(适合 //
, #
, 等语言):
- 进入可视块模式:
Ctrl + v
- 用方向键或
j/k
选中多行开头列 - 输入
I
再输入注释符号(如#
) - 按
Esc
自动插入到每行前
🔧 自定义终端开关快捷键(绑定 Ctrl + j
)
nnoremap <C-j> :call ToggleTerminal()<CR>
tnoremap <C-j> <C-\><C-n>:call ToggleTerminal()<CR>
function! ToggleTerminal()
if &buftype ==# 'terminal'
execute "normal! \<C-\\>\<C-n>"
quit
else
belowright split | terminal
endif
endfunction
功能说明:
Ctrl + j
在普通模式中打开/关闭终端- 在终端中按
Ctrl + j
会退出终端并关闭窗口 - 终端窗口默认出现在下方
✂️ 复制全文
ggVGy " 复制全文(普通寄存器)
ggVG"+y " 复制到系统剪贴板(需支持 +clipboard)
↩️ 撤销与重做
操作 | 命令 | 说明 |
---|---|---|
撤销 | u | 撤销上一步操作 |
重做 | Ctrl + r | 恢复被撤销的操作(redo) |
自定义 redo 映射 | nnoremap <C-y> <C-r> | 模仿 VSCode 的 Ctrl + Y 重做 |
🔍 当前行内跳转到指定字符
命令 | 说明 |
---|---|
f<char> | 向右跳到当前行中第一个 <char> 字符 |
F<char> | 向左跳到当前行中第一个 <char> 字符 |
t<char> | 向右跳到 <char> 前一个字符 |
T<char> | 向左跳到 <char> 后一个字符 |
; | 重复上一次跳转 |
, | 反向重复上一次跳转 |
❗ 报错 / 退出处理
:!q
报错的解释
-
如果你在 Vim 中执行了:
:!q
会得到:
/bin/bash: q: command not found shell returned 127 Press ENTER or type command to continue
-
表示 Vim 尝试运行 shell 命令
q
,但找不到,按Enter
即可返回正常编辑模式
正确退出 Vim 的命令
命令 | 说明 |
---|---|
:q | 退出当前文件(未修改时) |
:q! | 强制退出(不保存) |
:wq | 保存并退出 |
ZZ | 快捷保存并退出(大写 Z 两次) |
:wqa | 保存并退出所有窗口/文件 |
🖥️ 终端模式中退出回普通模式
Ctrl + \ 然后 Ctrl + n
作用:退出终端模式,回到普通命令模式(用于关闭终端等操作)