当前位置: 首页 > article >正文

Vim 常用快捷键大全:跳转、编辑、查找替换全解析

摘要:

Vim 是一款非常强大的文本编辑器,许多程序员和系统管理员都离不开它。

本文详细介绍了 Vim 编辑器中的常用快捷键和命令,从基本模式、光标移动、编辑操作到查找替换,再到文件保存等常用操作,帮助你快速上手并提升编辑效率。无论你是 Vim 新手还是资深用户,都能从中找到提升效率的技巧。阅读本文后,你将熟悉 Vim 的各种操作,让编程、写作变得更加高效!

下面列出了一些常用命令和操作:

1. 基本模式介绍

Vim 有三种主要模式:

普通模式(Normal Mode):默认模式,用于执行命令。

插入模式(Insert Mode):编辑文本,用 i、I、a、A 等命令进入。

命令模式(Command-line Mode):用于保存、退出、搜索等操作,进入方法是按 :。

了解这些模式对于高效使用 Vim 至关重要。


2. 光标移动

在普通模式下,可以使用以下快捷键来快速移动光标:

跳转到文件开头

• gg:将光标移动到文件的第一行。

• 1G:同样效果,移动到第一行。

跳转到文件末尾

• G:将光标移动到文件的最后一行。

按页滚动

• Ctrl+f:向前翻页。

• Ctrl+b:向后翻页。

按行移动

• j:向下移动一行。

• k:向上移动一行。

• h:向左移动一个字符。

• l:向右移动一个字符。

快速跳转到指定行

• 输入 :行号 后按 Enter,例如 :50 跳到第 50 行。


3. 编辑操作

3.1 进入插入模式

• i:在当前光标位置前进入插入模式。

• I:在当前行的开头进入插入模式。

• a:在当前光标位置后进入插入模式。

• A:在当前行末尾进入插入模式。

• o:在当前行下面新建一行并进入插入模式。

• O:在当前行上面新建一行并进入插入模式。

3.2 删除操作

• x:删除当前光标处的字符。

• dw:删除从当前光标到下一个单词的开头。

• dd:删除当前整行。

• D:删除从当前光标到行末的内容。

3.3 复制与粘贴

• yy(或 Y):复制当前整行。

• p:在当前光标后粘贴。

• P:在当前光标前粘贴。

3.4 撤销与重做

• u:撤销上一步操作。

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


4. 查找和替换

4.1 查找

• /pattern:向下查找匹配 pattern 的字符串。

• ?pattern:向上查找匹配 pattern 的字符串。

• n:重复上一次查找操作(相同方向)。

• N:重复上一次查找操作(相反方向)。

4.2 替换

• :s/old/new/:替换当前行第一个匹配的字符串。

• :s/old/new/g:替换当前行所有匹配的字符串。

• :%s/old/new/g:替换整个文件中所有匹配的字符串。

• :%s/old/new/gc:替换时询问确认。


5. 文件操作

• :w:保存文件。

• :q:退出 Vim。

• :wq 或 :x:保存并退出。

• :q!:不保存强制退出。


6. 其他有用命令

• :e filename:打开文件 filename。

• :ls 或 :buffers:列出当前打开的缓冲区。

• :b N:切换到编号为 N 的缓冲区。

• :split filename:水平分割窗口并打开文件。

• :vsplit filename:垂直分割窗口并打开文件。

• Ctrl+w 后跟 h/j/k/l:在分割窗口间切换。


参考资料

• Vim 官方文档:Vim documentation

• 菜鸟教程 Vim 教程:菜鸟教程 - Vim 教程

通过掌握这些常用命令,你可以大幅提升在 Vim 中编辑文件的效率。

如果你觉得本文对你有所帮助,欢迎点个赞支持一下,也请在评论区分享你在 Vim 使用过程中总结的更多技巧和经验!

你有遇到哪些 Vim 使用上的问题?或者有哪些快捷键是你觉得特别好用的?欢迎留言交流,我们一起进步!


http://www.kler.cn/a/568621.html

相关文章:

  • 委托者模式(掌握设计模式的核心之一)
  • 华为手机自助维修的方法
  • Memcached监控本机内存(比redis速度更快)
  • C++编程指南21 - 线程detach后其注意变量的生命周期
  • leetcode第77题组合
  • next.js-学习4
  • 蓝桥杯 6.数学
  • 基于springboot+vue的线上考试系统的设计与实现
  • 在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器
  • Java—锁—等待唤醒机制
  • 随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)
  • thinkphp6-使用psubscribe进行redis的注意callback中使用redis
  • 《Python实战进阶》No 11:微服务架构设计与 Python 实现
  • 字符串的最大公因子<枚举>
  • C语言学习笔记-初阶(23)函数详解
  • QT——c++界面编程库
  • app项目管理, 应该以UI为导向还是以研发为导向
  • 细说 Java 集合之 Map
  • 千峰React:组件与逻辑封装(上)
  • 2025国家护网HVV高频面试题总结来了01(题目+回答)