【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:从当前位置向上查找 pattern
  • n:继续查找下一个匹配项
  • 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 中最常用的操作指令,熟练掌握它们可以满足大部分文本编辑需求。随着使用深入,还可以探索更多高级功能和自定义配置。

相关推荐
什么蜜桃绵绵冰9 分钟前
linux易错题
linux·运维·服务器
Mike_Wuzy30 分钟前
【Linux】发展历程
linux
嶔某32 分钟前
网络:应用层
linux·服务器·网络·c++
YXWik63 小时前
Linux(centos7)安装 docker + ollama+ deepseek-r1:7b + Open WebUI(内含一键安装脚本)
linux·docker·ai
南玖yy8 小时前
Linux 桌面市场份额突破 5%:开源生态的里程碑与未来启示
linux·运维·服务器·汇编·科技·开源·gradle
泰勒疯狂展开9 小时前
Linux研学-MySQL安装
linux·mysql·adb
站住前面的二哈10 小时前
Cartographer安装测试与模块开发(三)--Cartographer在Gazebo仿真环境下的建图以及建图与定位阶段问题(实车也可参考)
学习·ubuntu
丨千纸鹤丨11 小时前
高可用集群Keepalived
linux·服务器·网络
☞下凡☜12 小时前
C语言(20250722)
linux·c语言·开发语言