linux中vim常用命令大全

news/2024/12/23 6:56:40/

在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还提供了丰富的插件和配置选项,用户可以根据自己的需求进行定制和优化。


http://www.ppmy.cn/news/1525143.html

相关文章

JAVA开源项目 校园管理系统 计算机毕业设计

本文项目编号 T 026 ,文末自助获取源码 \color{red}{T026,文末自助获取源码} T026,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 管…

Linux杂项知识

Linux的启动过程 Linux 的启动过程大致可以分为以下几个阶段: 1. BIOS/UEFI 加电自检 当计算机加电时,BIOS 或 UEFI 会首先执行一系列的硬件自检(POST,Power-On Self Test),检查系统是否正常运行。接下来…

Ansible自动化部署kubernetes集群

机器环境介绍 1.1. 机器信息介绍 IP hostname application CPU Memory 192.168.204.129 k8s-master01 etcd,kube-apiserver,kube-controller-manager,kube-scheduler,kubelet,kube-proxy,containerd 2C 4G 192.168.204.130 k8s-w…

Java小白一文讲清Java中集合相关的知识点(五)

Set接口和常用方法 基本介绍 无序(添加和取出的顺序不一样),没有索引不允许重复元素,所以最多包含一个nullJDK API 中Set接口的实现类有: public static void main(String[] args) {//1.以set接口的实现类HashSet来讲…

手机玩机常识-------诺基亚系列机型3/5/6/7/8详细的刷机教程步骤 手机参考救砖刷机教程

诺基亚手机 诺基亚(Nokia Corporation),成立于1865年,是一家主要从事移动通信设备生产和相关服务的手机公司 ,总部位于芬兰埃斯波 。从1996年开始,诺基亚手机连续15年占据手机市场份额第一位置&…

【测试】——自动化测试入门(Selenium环境搭建)

📖 前言:本文介绍了自动化测试的基础知识,重点讲解了Selenium环境的搭建。内容包括自动化测试的定义、自动化测试金字塔模型、Selenium的特点和工作原理,以及如何在Java环境中配置和使用Selenium进行UI自动化测试。 目录 &#x1…

性能测试经典案例解析——政务查询系统

各位好,我是 道普云 一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。 欢迎关注我的主页 道普云 文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。 希望这篇文章对想提高软件测试水平的你有所帮…

go 语言常见问题(4)

31. go语言编程的好处是什么 编译和运行都很快。在语言层级支持并行操作。有垃圾处理器。内置字符串和 maps。函数是 go 语言的最基本编程单位。 32. 说说go语言的select机制 select 机制用来处理异步 IO 问题select 机制最大的一条限制就是每个 case 语句里必须是一个 IO 操…