【无标题】

Vim 常用命令速查列表(附英文全称)

Vim 核心是模式化操作,所有命令按使用场景分模式整理,命令部分用反引号高亮,便于快速定位。

1. 模式切换命令

命令英文全称含义用法
iInsert进入插入模式(光标前插入)正常模式下按i,光标位置直接输入字符(左侧)
aAppend进入插入模式(光标后插入)正常模式下按a,光标右移一位,输入字符(右侧)
IInsert at line start行首插入模式正常模式下按I,光标跳至当前行第一个非空字符处插入
AAppend at line end行尾插入模式正常模式下按A,光标跳至当前行末尾插入
oOpen new line below下方新建行并插入正常模式下按o,当前行下方新建空白行并进入插入模式
OOpen new line above上方新建行并插入正常模式下按O,当前行上方新建空白行并进入插入模式
sSubstitute删除光标字符并插入正常模式下按s,删除光标处字符后进入插入模式
SSubstitute line删除整行并插入正常模式下按S,删除当前行后进入插入模式(等价于cc
EscEscape退出插入/可视模式插入/可视模式下按Esc,立即返回正常模式
vVisual字符级可视模式正常模式下按v,移动光标选中连续字符
VVisual Line行级可视模式正常模式下按V,直接选中当前行,移动光标选中多行
Ctrl+vVisual Block列块可视模式正常模式下按Ctrl+v,选中矩形列块(如多行同一列)

2. 正常模式 - 光标高效移动

命令英文全称含义用法
h/j/k/lLeft/Down/Up/Right光标上下左右移动替代方向键,按h左移、j下移、k上移、l右移
0Zero (line start)跳至当前行首(第一个字符)正常模式下按0,直接到行最左侧
$End of line跳至当前行尾正常模式下按$,直接到行最后一个字符
^Caret (first non-blank)跳至行第一个非空字符正常模式下按^,跳过行首空格/制表符
w/WWord forward (small/big)跳至下一个单词开头w按非空白符分隔单词,W按空白符分隔(忽略标点)
b/BWord backward (small/big)跳至上一个单词开头b按非空白符回跳,B按空白符回跳
e/EEnd of word (small/big)跳至当前单词末尾对应w/W的单词尾跳转
ggGo to top跳至文件第一行正常模式下按gg,直接到文件开头
GGo to bottom跳至文件最后一行正常模式下按G,直接到文件结尾
nG/:nGo to line n跳至第n行5G或输入:5回车,跳至第5行(n为数字)
Ctrl+f/Ctrl+bForward/Backward page向下/向上翻页等价于PageDown/PageUp,翻整页
Ctrl+d/Ctrl+uDown/Up half page向下/向上翻半页翻页幅度更小,适合精细浏览
%Match bracket跳至匹配的括号光标在()/[]/{}上时按%,跳至对应匹配括号

3. 正常模式 - 编辑操作(删除/复制/粘贴/撤销)

命令英文全称含义用法
ddDelete line删除当前行正常模式下按dd,删除整行(暂存剪贴板)
nddDelete n lines删除n行3dd,删除当前行及下方2行(共3行)
d$/d0Delete to end/start of line删除光标至行尾/行首d$删光标后内容,d0删光标前内容
dwDelete word删除光标至下一个单词开头dw,删除当前单词光标后的部分
x/XDelete character (current/before)删除光标处/前字符x等价于Delete,X等价于Backspace
yyYank line复制当前行正常模式下按yy,复制整行到剪贴板
nyyYank n lines复制n行5yy,复制当前行及下方4行(共5行)
y$/y0Yank to end/start of line复制光标至行尾/行首对应d$/d0的复制操作
p/PPaste (after/before)粘贴剪贴板内容p粘贴到光标后/下,P粘贴到光标前/上
uUndo撤销上一步操作u,可多次撤销(逐步回退)
Ctrl+rRedo恢复撤销的操作Ctrl+r,重做被u撤销的操作
.Repeat重复上一次编辑操作.,快速复用最近一次修改(如dd删行后按.再删一行)

4. 正常模式 - 文本修改(替换/缩进/大小写)

命令英文全称含义用法
rReplace替换单个字符r+目标字符,光标处字符被替换(不进插入模式)
RReplace mode持续替换模式R,输入字符逐个覆盖光标后内容,Esc退出
ccChange line删除整行并插入等价于S,删行后进入插入模式
ncwChange n words修改n个单词2cw,删2个单词后进入插入模式
>>/<<Indent right/left行右/左缩进>>右缩进(加制表位),<<左缩进(减制表位)
n>>/n<<Indent n lines right/leftn行右/左缩进3>>,当前行及下方2行均右缩进
~Toggle case切换字符大小写~,光标处字符大小写翻转(如A→a,b→B)
gUw/guwGlobal Upper/Lower Word单词转大写/小写gUw转大写,guw转小写

5. 可视模式 - 选择与操作

命令英文全称含义用法
v/V/Ctrl+v+移动Visual + move选中字符/行/列块先按模式键,再用h/j/k/l移动选中内容
dDelete删除选中内容选中后按d,直接删除所选文本
yYank复制选中内容选中后按y,复制到剪贴板
cChange删除选中并插入选中后按c,删内容并进入插入模式
>/<Indent right/left选中内容缩进选中后按>右缩进,<左缩进
~Toggle case选中内容大小写翻转选中后按~,所有字符大小写翻转

6. 命令行模式 - 文件操作(保存/退出/打开)

命令英文全称含义用法
:wWrite保存文件输入:w回车,保存修改(不退出)
:w filenameWrite to filename另存为指定文件输入:w test.txt,保存为test.txt
:qQuit退出Vim输入:q,未修改则退出,修改则提示
:q!Quit force强制退出(不保存)输入:q!,放弃所有修改并退出
:wq/:x/ZZWrite+Quit / Exit保存并退出:wq强制保存退出,:x/ZZ仅修改时保存
:e filenameEdit filename打开指定文件输入:e test.py,打开test.py(需确认当前文件保存)
:e!Edit force放弃修改并重新加载输入:e!,恢复文件原始版本
:w !sudo tee %Write with sudo用sudo权限保存解决只读文件无法保存(%代表当前文件)

7. 命令行模式 - 查找与替换

命令英文全称含义用法
/patternSearch forward正向查找输入/hello,向下找“hello”,n下一个,N上一个
?patternSearch backward反向查找输入?world,向上找“world”,n上一个,N下一个
:set ic/:set noicSet ignore/no ignore case开启/关闭忽略大小写查找时不区分/区分大小写
:nohNo highlight取消查找高亮输入:noh,清除查找结果的高亮
:s/old/newSubstitute替换当前行第一个匹配项输入:s/foo/bar,替换当前行首个“foo”为“bar”
:s/old/new/gSubstitute global替换当前行所有匹配项输入:s/foo/bar/g,替换当前行全部“foo”
:%s/old/new/gSubstitute global (all lines)替换全文件匹配项输入:%s/foo/bar/g,替换所有行的“foo”
:%s/old/new/gcSubstitute global confirm交互式替换替换前提示确认(y=确认,n=跳过,a=全部,q=退出)
:n1,n2s/old/new/gSubstitute (lines n1-n2)替换指定行匹配项输入:5,10s/foo/bar/g,替换5-10行的“foo”

8. 命令行模式 - 窗口/标签页操作

命令英文全称含义用法
:sp filenameSplit window水平分割窗口输入:sp test.py,下方窗口打开test.py
:vsp filenameVertical split window垂直分割窗口输入:vsp test.py,右侧窗口打开test.py
Ctrl+w h/j/k/lWindow move切换分割窗口Ctrl+w后按方向键,切换到对应窗口
:tabnew filenameTab new新建标签页输入:tabnew test.py,新建标签页并打开文件
gt/gTGo to next/previous tab切换标签页gt下一个,gT上一个
:tabcloseTab close关闭当前标签页输入:tabclose,关闭当前标签页

9. 其他实用命令

命令英文全称含义用法
:set nu/:set nonuSet number/no number显示/隐藏行号输入:set nu显示行号,:set nonu隐藏
:set listSet list显示不可见字符显示空格(·)、制表符(^I)、换行符($)
gfGo to file跳至光标处的文件光标在文件名上按gf,直接打开该文件
:help cmdHelp command查看命令帮助输入:help dd,查看dd的官方说明

总结

  1. Vim 核心是模式切换Esc是返回正常模式的万能键,优先用正常模式的高效命令而非插入模式;
  2. 日常编辑高频组合:gg/G(跳行)+ dd/yy/p(删/复制/粘贴)+ :%s/old/new/gc(全局替换);
  3. 多文件编辑优先用:sp/:vsp(分割窗口)或:tabnew(标签页),Ctrl+w是窗口切换核心组合键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值