linux中vim常用命令大全

在Linux系统中,Vim是一款功能强大的文本编辑器,广泛用于代码编写、文档编辑等多种场景。Vim以其高效的编辑能力和丰富的命令集著称。以下是Vim编辑器中常用命令的详细大全,旨在帮助用户更高效地利用Vim进行文本编辑。

一、启动与退出Vim

  1. 启动Vim

    • vim:直接启动Vim并进入命令模式。
    • vim filename:启动Vim并打开(或创建)指定文件名的文件。
    • vim -c cmd file:在打开文件前,先执行指定的命令。
    • vim -r file:恢复上次异常退出的文件。
    • vim -R file:以只读的方式打开文件,但可以强制保存。
    • vim -M file:以只读的方式打开文件,不可以强制保存。
  2. 退出Vim

    • :wq 或 ZZ:保存修改并退出Vim。
    • :x:保存修改并退出Vim,与:wq相同。
    • :q!:强制退出Vim,不保存修改。
    • :q:如果未对文件进行修改,则退出Vim;如果文件已修改,则提示保存或放弃修改。

二、Vim的模式

Vim有三种基本模式:命令模式(Normal Mode)、插入模式(Insert Mode)和可视模式(Visual Mode)。

  1. 命令模式(Normal Mode)

    • 在此模式下,可以使用快捷键进行光标移动、复制粘贴、删除等操作。
    • 按下i、a、o等键可以进入插入模式。
  2. 插入模式(Insert Mode)

    • 在此模式下,可以输入文本。
    • 按下Esc键可以回到命令模式。
  3. 可视模式(Visual Mode)

    • 按下v进入字符选择模式,V进入行选择模式,Ctrl+v进入块选择模式。
    • 在可视模式下,可以使用移动命令来选择文本区域,然后执行复制、粘贴、删除等操作。

三、光标移动

在命令模式下,Vim提供了多种光标移动命令:

  • h 或 左箭头:左移一个字符。
  • l 或 右箭头:右移一个字符。
  • j 或 下箭头:下移一行。
  • k 或 上箭头:上移一行。
  • w:向前移动一个单词(光标停在单词首部)。
  • b:向后移动一个单词。
  • e:向前移动一个单词,光标停在单词尾部。
  • ge:向后移动一个单词,光标停在单词尾部。
  • ^:移动到本行第一个非空白字符上。
  • 0 或 Home:移动到本行第一个字符。
  • gg:移动到文件头部。
  • G 或 Shift+g:移动到文件尾部。
  • nG 或 :n:跳转到文件的第n行。
  • Ctrl+f:向下滚动一屏。
  • Ctrl+b:向上滚动一屏。
  • Ctrl+d:向下滚动半屏。
  • Ctrl+u:向上滚动半屏。

四、文本编辑

  1. 插入文本

    • i:在当前光标位置插入文本。
    • I:在当前行首插入文本。
    • a:在当前光标位置的下一个字符处插入文本。
    • A:在当前行尾插入文本。
    • o:在当前行下方插入新行并开始编辑。
    • O:在当前行上方插入新行并开始编辑。
  2. 复制与粘贴

    • yy:复制当前行。
    • nyy:复制从当前行开始的n行。
    • p:在当前光标位置粘贴文本。
    • P:在当前光标位置上方粘贴文本。
  3. 删除文本

    • x:删除当前光标位置的字符。
    • X:删除当前光标位置前一个字符。
    • dd:删除当前行。
    • ndd:删除从当前行开始的n行。
    • D 或 d$:删除从当前光标位置到行尾的所有字符。
  4. 撤销与重做

    • u:撤销上一步操作。
    • Ctrl+r:重做上一步被撤销的操作。

五、查找与替换

  1. 查找文本

    • /text:从当前光标位置向前查找text。
    • ?text:从当前光标位置向后查找text。
    • n:查找下一个匹配项。
    • N:查找上一个匹配项。
  2. 替换文本

    • r + 字符:替换当前光标位置的字符。
    • R:进入替换模式,输入字符将连续替换光标所在位置及之后的字符,直到按Esc退出。
    • :s/old/new/:替换当前行的第一个old为new。
    • :s/old/new/g:替换当前行所有old为new。
    • %s/old/new/g:替换整个文件中所有old为new。

六、分屏与多文件操作

  1. 分屏

    • :split 或 :sp:水平分割窗口,打开一个新窗口。
    • :vsplit 或 :vsp:垂直分割窗口,打开一个新窗口。
    • Ctrl+w w:在多个窗口间切换。
    • Ctrl+w j、Ctrl+w k、Ctrl+w h、Ctrl+w l:分别将光标移动到下方、上方、左侧、右侧窗口。
  2. 多文件操作

    • vim file1 file2 ...:同时打开多个文件。
    • :next 或 :n:切换到下一个文件。
    • :prev 或 :N:切换到上一个文件。
    • :first:切换到第一个文件。
    • :last:切换到最后一个文件。

七、其他常用命令

  • :set nu:显示行号。
  • :set nonu:关闭行号显示。
  • :w:保存当前文件。
  • :w filename:将当前文件另存为filename。
  • :e!:重新加载当前文件,丢弃已做的修改。
  • :help 或 F1:打开Vim的帮助文档。

Vim的命令集非常丰富,上述只是其中一部分常用命令。通过不断实践和学习,用户可以逐渐掌握Vim的强大功能,提高文本编辑的效率。同时,Vim还提供了丰富的插件和配置选项,用户可以根据自己的需求进行定制和优化。

相关推荐
未济5 天前
linux 配置环境变量
linux
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.5 天前
进程间通信
linux
AI职业加油站5 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏5 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅5 天前
linux(8) 软硬链接
linux·运维·服务器
AIgorithmGEEK5 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid