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

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

二、Vim的模式

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

  1. 命令模式(Normal Mode)

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

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

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

三、光标移动

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

  • h 或 左箭头:左移一个字符。
  • l 或 右箭头:右移一个字符。
  • j 或 下箭头:下移一行。
  • k 或 上箭头:上移一行。
  • w:向前移动一个单词(光标停在单词首部)。
  • b:向后移动一个单词。
  • e:向前移动一个单词,光标停在单词尾部。
  • ge:向后移动一个单词,光标停在单词尾部。
  • ^:移动到本行第一个非空白字符上。
  • 0Home:移动到本行第一个字符。
  • gg:移动到文件头部。
  • GShift+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行。
    • Dd$:删除从当前光标位置到行尾的所有字符。
  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 jCtrl+w kCtrl+w hCtrl+w l:分别将光标移动到下方、上方、左侧、右侧窗口。
  2. 多文件操作

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

七、其他常用命令

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

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

相关推荐
Lary_Rock39 分钟前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱6 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范
小林熬夜学编程7 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法