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

相关推荐
qiuqyue10 分钟前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
切糕师学AI21 分钟前
Linux 操作系统简介
linux
南烟斋..1 小时前
GDB调试核心指南
linux·服务器
爱跑马的程序员1 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
oMcLin3 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
Qinti_mm4 小时前
Linux io_uring:高性能异步I/O革命
linux·i/o·io_uring
优雅的38度4 小时前
linux环境下,使用docker安装apache kafka (docker-compose)
linux·架构
想唱rap4 小时前
表的约束条件
linux·数据库·mysql·ubuntu·bash
山上三树4 小时前
对比用户态线程与内核态轻量级进程
linux
2501_948195344 小时前
RN for OpenHarmony英雄联盟助手App实战:设置实现
linux·ubuntu