Vim常用命令全解析

2025/3/11
本文详细介绍了Vim在命令行环境下的常用命令,包括基本移动、插入编辑、复制粘贴剪切、搜索替换、保存退出、多窗口分屏以及其他常用命令等,帮助读者掌握基础命令以提高编辑效率。
Vim命令行界面展示常用命令的截图,以基本移动命令、插入编辑命令等分类展示的图片

Vim 是一款功能强大的文本编辑器,尤其在命令行环境下非常流行。以下是一些常用的 Vim 命令,分为几个类别:

1. 基本移动命令

  • h:向左移动光标
  • j:向下移动光标
  • k:向上移动光标
  • l:向右移动光标
  • w:移动到下一个单词的开头
  • b:移动到上一个单词的开头
  • e:移动到当前单词的末尾
  • 0:移动到当前行的开头
  • $:移动到当前行的末尾
  • gg:移动到文件的开头
  • G:移动到文件的末尾
  • :n:移动到第 n 行(例如 :10 移动到第 10 行)

2. 插入和编辑命令

  • i:在当前光标位置前插入文本
  • a:在当前光标位置后插入文本
  • I:在当前行的开头插入文本
  • A:在当前行的末尾插入文本
  • o:在当前行下方插入新行并进入插入模式
  • O:在当前行上方插入新行并进入插入模式
  • x:删除当前光标位置的字符
  • dd:删除当前行
  • dw:删除从当前光标位置到下一个单词开头的文本
  • D:删除从当前光标位置到行尾的文本
  • u:撤销上一次操作
  • Ctrl + r:重做上一次撤销的操作

3. 复制、粘贴和剪切命令

  • yy:复制当前行
  • yw:复制从当前光标位置到下一个单词开头的文本
  • p:粘贴剪贴板内容到光标后
  • P:粘贴剪贴板内容到光标前
  • dd:剪切当前行(删除并放入剪贴板)
  • dw:剪切从当前光标位置到下一个单词开头的文本

4. 搜索和替换命令

  • /pattern:向前搜索 pattern
  • ?pattern:向后搜索 pattern
  • n:重复上一次搜索
  • N:反向重复上一次搜索
  • :%s/old/new/g:全局替换 oldnew
  • :%s/old/new/gc:全局替换 oldnew,每次替换前确认

5. 保存和退出命令

  • :w:保存文件
  • :q:退出 Vim
  • :wq:x:保存并退出
  • :q!:强制退出,不保存更改
  • :w newfile:将当前内容保存为 newfile

6. 多窗口和分屏命令

  • :sp:水平分割窗口
  • :vsp:垂直分割窗口
  • Ctrl + w + w:在窗口间切换
  • Ctrl + w + h/j/k/l:切换到左/下/上/右窗口
  • Ctrl + w + q:关闭当前窗口

7. 其他常用命令

  • :set number:显示行号
  • :set nonumber:隐藏行号
  • :set paste:进入粘贴模式(避免自动缩进)
  • :set nopaste:退出粘贴模式
  • :help command:查看 command 的帮助文档

这些命令只是 Vim 功能的冰山一角,Vim 的强大之处在于它的可定制性和丰富的插件生态系统。熟练掌握这些基础命令后,你可以进一步探索 Vim 的高级功能和插件,以提高你的编辑效率。

标签:Linux
上次更新:

相关文章

<处理关联数据的最佳实践:Article 与 Tags 的关系 | 开发指南>

<本文详细介绍了在开发中处理关联数据(如 Article 和 Tags 的多对多关系)的最佳实践,包括拆分业务逻辑、使用事务保证数据一致性、合理设计关联表结构、批量操作、幂等性和乐观锁等关键要点,并提供了基于 mysql2 和 Sequelize 的代码示例。>

·后端开发

MySQL外键约束详解:维护数据一致性与完整性

本文详细介绍了MySQL中的外键约束(Foreign Key Constraint),包括其基本概念、创建方法、作用、级联操作、限制、修改与删除方法、查看方式以及最佳实践。通过合理使用外键约束,可以有效管理数据库中的数据关系,确保数据的准确性和可靠性。

·后端开发

MySQL JSON数据类型支持与使用指南 | 详细解析与示例

本文详细解析了MySQL从5.7版本开始支持的JSON数据类型,包括版本支持、创建JSON字段、插入与查询JSON数据、修改JSON数据、生成JSON、索引优化、性能与应用场景、注意事项及示例全流程。

·后端开发

SQL JOIN、LEFT JOIN 和 RIGHT JOIN 的区别与应用场景详解

本文详细介绍了 SQL 中 JOIN、LEFT JOIN 和 RIGHT JOIN 的区别,包括它们的作用、语法、示例以及实际应用场景,帮助读者更好地理解和使用这些连接方式。

·后端开发

配置 Redis 服务器在系统启动时自动启动的完整指南

本文详细介绍了如何在不同 Linux 发行版中配置 Redis 服务器以在系统启动时自动启动,包括使用 Systemd 和 init.d 脚本的步骤。

·DevOps

PM2 v5 到 v6 升级指南:核心变化与注意事项

本文详细介绍了 PM2 从 v5 升级到 v6 的主要破坏性变更、新增功能、性能优化以及升级步骤和注意事项,帮助开发者顺利完成升级。

·后端开发

生成Ed25519密钥对并配置SSH快捷登录的完整指南

本文详细介绍了如何生成Ed25519密钥对、上传公钥到服务器、配置SSH安全设置、设置本地SSH别名快捷登录,并提供故障排查和安全建议。

·DevOps

HTTP/3 详细解析:基于 QUIC 协议的性能与安全提升

HTTP/3 是 HTTP 协议的第三个主要版本,基于 QUIC 协议,旨在解决 HTTP/2 和 HTTP/1.x 中的性能和安全问题。本文详细解析了 HTTP/3 的核心特性、优势、挑战、应用场景以及如何启用 HTTP/3。

·全栈开发

Strapi v5 用户权限控制:如何限制用户只能查询自己发布的内容

本文详细介绍了在 Strapi v5 中如何通过权限控制和 API 过滤,确保用户只能查询自己发布的内容。提供了多种实现方法,包括使用 API 过滤、创建 Policy、修改 Controller 以及利用生命周期事件自动过滤。

·后端开发

Strapi 用户权限策略与自定义路由实现指南

本文详细介绍了如何在Strapi中创建自定义策略和路由,以增强用户权限管理。包括通过创建strapi-server.js文件来修改现有路由,以及通过创建新的API来实现自定义用户查找功能。

·后端开发