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

devtools/2025/3/3 18:18:51/

摘要:

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.ppmy.cn/devtools/164244.html

相关文章

DifyでOracle Base Database Service(23ai)を利用する設定手順

[TOC](DifyでOracle Base Database Service(23ai)を利用する設定手順) はじめに 本記事では、DifyプラットフォームとOracle Base Database Service(23aiエディション)を連携させる方法を解説します。クラウド環境における大規模データ処理を想定した設…

CMS Made Simple v2.2.15远程命令执行漏洞(CVE-2022-23906)

漏洞简介: CMS Made Simple v2.2.15 被发现包含通过上传图片功能的远程命令执行 (RCE) 漏洞。此漏洞通过精心制作的图像文件被利用。 漏洞环境: 春秋云镜中的漏洞靶标,CVE编号为CVE-2022-23906 漏洞复现 后台/admin弱口令登录 admin/123…

c++ 文件及基本读写总结

在 C 中,文件操作是非常重要的一部分,主要用于将数据存储到文件中,或者从文件中读取数据。C 标准库提供了fstream头文件,其中包含了用于文件操作的类,主要有ifstream(用于输入文件流,即从文件读…

校园的网络安全

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 1、什么是端口安全 端口安全(Port Security),从基本原理上讲,Port Security特性会通过MAC地址表记录连接到交换机…

使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码

以下是使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码,以实现对两个样品的单线态氧自由基( 1 O 2 ^1O_2 1O2​)和超氧自由基( O 2 − O_2^- O2−​)的模拟,并将模拟结果导出为Excel文件。 步骤概…

计算机毕业设计SpringBoot+Vue.js常规应急物资管理系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

uniapp中页面跳转及encodeURIComponent转码的使用详解

文章目录 一、uniapp页面跳转方法汇总1. uni.navigateTo2. uni.redirectTo3. uni.reLaunch4. uni.switchTab5. uni.navigateBack 二、encodeURIComponent转码的使用场景1. 参数中有特殊字符时2. 参数值可能变化时 一、uniapp页面跳转方法汇总 1. uni.navigateTo 保留当前页面…

【数据结构】堆与二叉树

一、树的概念 1.1 什么是树? 树是一种非线性的数据结构,其由 n 个 ( n > 0 ) 有限节点所组成的一个有层次关系的集合。之所以称其为树,是因为其逻辑结构看起来像是一颗倒挂的树。 在树中,有一个特殊的节点称为根节点&#xf…