【Linux/Ubuntu】VIM指令大全
Vim 是一款功能强大的文本编辑器,掌握其常用操作指令可以极大提高编辑效率。以下是分类整理的常用 Vim 操作指令:
一、进入与退出 Vim
vim 文件名:打开或新建文件并进入 Vim:q:退出(未修改文件):q!:强制退出(不保存修改):w:保存文件:wq或:x:保存并退出ZZ:保存并退出(命令模式下)
二、模式切换
i:在当前光标前插入I:在当前行首插入a:在当前光标后插入A:在当前行尾插入o:在当前行下方新建一行并插入O:在当前行上方新建一行并插入s:删除当前字符并插入S:删除当前行并插入Esc:从插入模式返回命令模式
三、光标移动(命令模式)
h:左移一个字符j:下移一行k:上移一行l:右移一个字符0:移至行首$:移至行尾^:移至行首第一个非空白字符w:移至下一个单词开头W:移至下一个单词开头(忽略标点)e:移至当前单词结尾E:移至当前单词结尾(忽略标点)b:移至前一个单词开头B:移至前一个单词开头(忽略标点)gg:移至文件开头G:移至文件结尾nG或:n:移至第 n 行Ctrl + f:向下翻一页Ctrl + b:向上翻一页Ctrl + d:向下翻半页Ctrl + u:向上翻半页
四、删除操作(命令模式)
x:删除当前字符X:删除当前字符的前一个字符dd:删除当前行ndd:删除从当前行开始的 n 行d0:删除从光标位置到行首的内容d$:删除从光标位置到行尾的内容dw:删除从光标位置到下一个单词开头的内容dW:删除从光标位置到下一个单词开头的内容(忽略标点)de:删除从光标位置到当前单词结尾的内容dB:删除从光标位置到前一个单词开头的内容(忽略标点)dgg:删除从当前行到文件开头的内容dG:删除从当前行到文件结尾的内容
五、复制与粘贴(命令模式)
yy:复制当前行nyy:复制从当前行开始的 n 行p:在当前行下方粘贴P:在当前行上方粘贴yw:复制从光标位置到下一个单词开头的内容y0:复制从光标位置到行首的内容y$:复制从光标位置到行尾的内容ygg:复制从当前行到文件开头的内容yG:复制从当前行到文件结尾的内容
六、撤销与重做(命令模式)
u:撤销上一次操作Ctrl + r:重做上一次被撤销的操作
七、查找与替换(命令模式)
/pattern:从当前位置向下查找 pattern?pattern:从当前位置向上查找 patternn:继续查找下一个匹配项N:继续查找上一个匹配项:nohl:取消高亮显示查找结果:s/old/new:替换当前行第一个 old 为 new:s/old/new/g:替换当前行所有 old 为 new:%s/old/new:替换所有行第一个 old 为 new:%s/old/new/g:替换所有行所有 old 为 new:%s/old/new/gc:替换所有行所有 old 为 new,每次替换前确认
八、其他常用操作
.:重复上一次操作ZZ:保存并退出:set nu:显示行号:set nonu:隐藏行号:set hlsearch:开启搜索高亮:set nohlsearch:关闭搜索高亮:set autoindent:开启自动缩进:set paste:进入粘贴模式(避免粘贴时格式错乱):set nopaste:退出粘贴模式:w 新文件名:另存为新文件:r 文件名:将指定文件内容插入到当前位置v:进入可视模式(按字符选择)V:进入可视行模式(按行选择)Ctrl + v:进入可视块模式(按块选择)
这些是 Vim 中最常用的操作指令,熟练掌握它们可以满足大部分文本编辑需求。随着使用深入,还可以探索更多高级功能和自定义配置。


