【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 中最常用的操作指令,熟练掌握它们可以满足大部分文本编辑需求。随着使用深入,还可以探索更多高级功能和自定义配置。

相关推荐
wdxylb6 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20077 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪7 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk9 小时前
Linux 正则表达式
linux·运维
Fireworkitte10 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil90011 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char11 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
淮北也生橘1212 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
华强笔记16 小时前
Linux内存管理系统性总结
linux·运维·网络
十五年专注C++开发16 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建