vim 命令
2024年11月1日大约 3 分钟
Vim 是一款强大的文本编辑器,常用于程序开发和日常文本编辑。Vim 采用模式化操作,有几种不同的模式:普通模式(Normal Mode)、插入模式(Insert Mode)、命令模式(Command Mode)、视觉模式(Visual Mode)等。下面是一些常用的 Vim 命令和用法:
1. 普通模式 (Normal Mode)
普通模式是 Vim 启动时的默认模式,你可以在此模式下移动光标、删除、复制、粘贴等。
移动光标:
h:左移一个字符j:下移一行k:上移一行l:右移一个字符w:跳到下一个单词的开始b:跳到当前或上一个单词的开始0:跳到当前行的开头$:跳到当前行的结尾gg:跳到文件的开头G:跳到文件的结尾ctrl + u:向上滚动一屏ctrl + d:向下滚动一屏
编辑:
i:进入插入模式(在光标前插入)I:进入插入模式(在行首插入)a:进入插入模式(在光标后插入)A:进入插入模式(在行尾插入)o:在当前行下方新开一行并进入插入模式O:在当前行上方新开一行并进入插入模式
删除:
x:删除当前光标所在的字符dd:删除当前行d$:删除从光标到行尾的内容d0:删除从光标到行首的内容dw:删除从光标到下一个单词的开头
复制与粘贴:
yy:复制当前行yw:复制当前光标所在的单词p:在光标后粘贴P:在光标前粘贴
撤销与重做:
u:撤销ctrl + r:重做
查找:
/keyword:查找关键字(向下查找)?keyword:查找关键字(向上查找)n:跳到下一个匹配项N:跳到上一个匹配项
替换:
:s/old/new/:替换当前行中的第一个匹配项:s/old/new/g:替换当前行中的所有匹配项:%s/old/new/g:替换整个文件中的所有匹配项
2. 插入模式 (Insert Mode)
插入模式用于输入文本,按 Esc 键返回普通模式。
- 进入插入模式:
i:在光标前插入I:在行首插入a:在光标后插入A:在行尾插入o:在当前行下方插入新行并进入插入模式O:在当前行上方插入新行并进入插入模式
3. 命令模式 (Command Mode)
命令模式用于执行更高级的操作,比如保存文件、退出等。
保存文件:
:w:保存文件:w filename:将当前文件保存为filename
退出 Vim:
:q:退出:q!:强制退出(不保存):wq或:x:保存并退出ZZ:保存并退出(等同于:wq)
查找与替换:
:s/old/new/:替换当前行中的第一个匹配项:%s/old/new/g:替换整个文件中的所有匹配项:g/keyword/p:显示所有匹配keyword的行
文件操作:
:e filename:编辑filename文件:bn:切换到下一个文件(如果使用多个文件编辑):bp:切换到上一个文件
4. 视觉模式 (Visual Mode)
视觉模式用于选择文本。
进入视觉模式:
v:逐字符选择V:逐行选择ctrl + v:逐块选择(矩形选择)
操作选择的文本:
d:删除选择的文本y:复制选择的文本p:粘贴选择的文本
5. 高级命令
跳转到指定行:
:N:跳到第 N 行:N,M:跳到第 N 行到第 M 行(显示该行范围)
撤销与重做:
u:撤销ctrl + r:重做
折叠/展开:
zc:折叠当前区域zo:展开当前区域zm:收缩所有折叠区域zM:完全折叠所有区域
6. 窗口与标签页
:split或:sp:水平分割窗口:vsplit或:vs:垂直分割窗口ctrl + w, h/j/k/l:在分割窗口之间切换(h、j、k、l 分别表示左、下、上、右):tabnew:打开一个新标签页:tabn:切换到下一个标签页:tabp:切换到上一个标签页