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 使用上的问题?或者有哪些快捷键是你觉得特别好用的?欢迎留言交流,我们一起进步!
相关文章:
Vim 常用快捷键大全:跳转、编辑、查找替换全解析
摘要: Vim 是一款非常强大的文本编辑器,许多程序员和系统管理员都离不开它。 本文详细介绍了 Vim 编辑器中的常用快捷键和命令,从基本模式、光标移动、编辑操作到查找替换,再到文件保存等常用操作,帮助你快速上手并提…...
【Python 数据结构 2.时间复杂度和空间复杂度】
Life is a journey —— 25.2.28 一、引例:穷举法 1.单层循环 所谓穷举法,就是我们通常所说的枚举,就是把所有情况都遍历了的意思。 例:给定n(n ≤ 1000)个元素ai,求其中奇数有多少个 判断一…...
【Qt QML】QML鼠标事件(MouseArea)
QML鼠标事件全面解析 一、MouseArea基础概念 在 QML 中,鼠标事件是处理用户与界面元素交互的重要部分。QML 提供了多种方式来处理鼠标事件,MouseArea 是 QML 中用于处理鼠标事件的核心元素,它可以覆盖在其他元素之上,捕获鼠标操作并触发相应的信号。 1、基本用法 import …...
LeetCode 202. 快乐数 java题解
https://leetcode.cn/problems/happy-number/description/ 哈希表 class Solution {public boolean isHappy(int n) {if(n1) return true;HashSet<Integer> setnew HashSet<>();while(n!1&&!(set.contains(n))){//没找到结果;没有重复出现过se…...
《认知·策略·跃迁:新能源汽车工程师的深度学习系统构建指南》
--- ## 前言:为什么传统学习法正在杀死你的竞争力? 在新能源汽车领域,我们正经历着每18个月知识体系更新迭代的指数级变革。当磷酸铁锂电池能量密度刚突破200Wh/kg时,固态电池已进入量产倒计时;当自动驾驶还在L2级徘…...
PHP环境安装达梦数据库驱动实操
PHP环境安装达梦数据库驱动实操 一、环境准备 达梦数据库安装 从达梦官网下载对应系统版本的DM8开发版或企业版,完成安装并确保数据库服务正常运行。安装后需记录数据库的安装路径(如Windows默认路径为D:\dmdbms,Linux为/dm/server࿰…...
Electron + Vite + React + TypeScript 跨平台开发实践指南
Electron Vite React TypeScript 跨平台开发全栈实践指南 开发环境的搭建(node.js,npm的安装)请参见我的文章 2025Q1 核心组件版本矩阵 组件版本关键改进特性Electron30.0.0原生ESM支持、V8引擎性能优化30%Vite6.0.0多核编译加速、SSR增强模式React21.0.0并发…...
Java---入门基础篇(下)---方法与数组
前言 本篇文章主要讲解有关方法与数组的知识点 ,是基础篇的一部分 , 而在下一篇文章我会讲解类和对象的知识点 入门基础篇上的链接给大家放在下面啦 ! Java---入门基础篇(上)-CSDN博客 感谢大家点赞👍🏻收藏⭐评论✍🏻 欢迎各位大佬指点…...
【分布式理论11】分布式协同之分布式事务(一个应用操作多个资源):从刚性事务到柔性事务的演进
文章目录 一. 什么是分布式事务?二. 分布式事务的挑战三. 事务的ACID特性四. CAP理论与BASE理论1. CAP理论1.1. 三大特性1.2. 三者不能兼得 2. BASE理论 五. 分布式事务解决方案1. 两阶段提交(2PC)2. TCC(Try-Confirm-Cancel&…...
【文献阅读】Collective Decision for Open Set Recognition
基本信息 文献名称:Collective Decision for Open Set Recognition 出版期刊:IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING 发表日期:04 March 2020 作者:Chuanxing Geng and Songcan Chen 摘要 在开集识别࿰…...
Gorm中的First()、Create()、Update()、Delete()的错误处理
一. First() result : tx.Model(&models.Attachment{}).Where("home ? AND home_id ?", attachment.Home, attachment.HomeID).First(&existingAttachment)如果没有查询到数据,result.Error的值是什么? 在使用 GORM(…...
【心得】一文梳理高频面试题 HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别并附加记忆方法
面试时很容易遇到的一个问题—— HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0的区别,其实这四个版本的发展实际上是一环扣一环的,是逐步完善的,本文希望帮助读者梳理清楚各个版本之间的区别,并且给出当前各个版本的应用情况,…...
Navicat连接虚拟机数据库详细教程
Navicat连接虚拟机数据库详细教程 以Windows主机 上的navicat 连接ubuntu虚拟机为例 确认虚拟机ip地址和主机ip地址 主机地址查询 cmd输入ipconfig 登录mysql 创建用户 CREATE USER newuserlocalhost IDENTIFIED BY password; CREATE USER newuser% IDENTIFIED BY passwor…...
委托者模式(掌握设计模式的核心之一)
目录 问题: 举例: 总结:核心就是利用Java中的多态来完成注入。 问题: 今天刷面经,刷到装饰者模式,又进阶的发现委托者模式,发现还是不理解,特此记录。 举例: 老板…...
DeepSeek-R1 论文笔记:通过强化学习提升大语言模型的推理能力
论文标题:DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 作者团队:DeepSeek-AI 发表时间:2025 前置知识 & 术语 模型蒸馏 语言模型蒸馏的目标是将大型教师模型的知识(如语义理解、上…...
实现Unity shader扭曲效果
实现思路 1、扭曲材质赋于面片 2、抓取当前一帧的图片内容 3、获取屏幕坐标 4、利用屏幕坐标对抓取的图片采样 5、再采样张扰动贴图做扭曲 Shader "Unlit/NewUnlitShader" {Properties {_DistortTex ("扰动贴图 (RGB)", 2D) "bump" {}_Di…...
七星棋牌 6 端 200 子游戏全开源修复版源码(乐豆 + 防沉迷 + 比赛场 + 控制)
七星棋牌源码 是一款运营级的棋牌产品,覆盖 湖南、湖北、山西、江苏、贵州 等 6 大省区,支持 安卓、iOS 双端,并且 全开源。这个版本是 修复优化后的二开版本,新增了 乐豆系统、比赛场模式、防沉迷机制、AI 智能控制 等功能&#…...
C++STL---<limits>
C <limits> 头文件: <limits> 头文件是 C 标准库中用于获取各种数据类型的数值范围、精度等信息的工具。它通过模板类 std::numeric_limits 提供了对基本数据类型(如 int、float、double 等)的详细属性查询功能。通过 std::nume…...
一键安装Mysql部署脚本之Linux在线安装Mysql,脚本化自动化执行服务器部署(附执行脚本下载)
相关链接 一键安装Redis部署脚本之Linux在线安装Redis一键安装Mysql部署脚本之Linux在线安装Mysql一键安装JAVA部署脚本之Linux在线安装JDK一键安装Nginx部署脚本之Linux在线安装NginxNavicat最新版(17)详细安装教程Xshell客户端免费版无需注册XFtp客户端免费版无需注册 前言…...
ES、OAS、ERP、电子政务、企业信息化(高软35)
系列文章目录 ES、OAS、ERP、电子政务、企业信息化 文章目录 系列文章目录前言一、专家系统(ES)二、办公自动化系统(OAS)三、企业资源规划(ERP)四、典型信息系统架构模型1.政府信息化和电子政务2.企业信息…...
收藏!小白程序员必看:轻松入门大模型核心概念MCP与Skill,解锁AI能力新姿势!
本文通过生活化比喻,深入浅出地解释了AI领域中的MCP和Skill两大核心概念。MCP如同AI世界的“USB接口”,是标准化的连接协议,让AI能调用外部工具;Skill则像“工作手册”,是工作规范/技能模板,告诉AI在不同场…...
CSRankings数据更新流程揭秘:从GitHub PR到季度发布
CSRankings数据更新流程揭秘:从GitHub PR到季度发布 【免费下载链接】CSrankings A web app for ranking computer science departments according to their research output in selective venues, and for finding active faculty across a wide range of areas. …...
【黑金云课堂笔记】第一~二期FPGA知识点总结
知识卡片一:【FPGA 基础篇】开启硬件编程之门FPGA 的本质: FPGA(现场可编程门阵列)并非在运行软件程序,而是在构建电路本身。用户可以通过 Verilog/VHDL 等硬件描述语言,在芯片出厂后随时重新配置其内部逻辑…...
颠覆视频剪辑:JianYingApi让自动化剪辑效率提升80%
颠覆视频剪辑:JianYingApi让自动化剪辑效率提升80% 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 在短视频内容爆发的时代,视频创作者面临着三重核心痛点&…...
【微知】Mellanox网卡配置异常?mlxconfig reset全解与实战场景指南
1. Mellanox网卡配置异常?先别慌 遇到Mellanox网卡配置异常时,很多工程师第一反应是重装驱动或者更换硬件。其实在大多数情况下,用对mlxconfig reset这个神器就能快速解决问题。我处理过上百台配备Mellanox网卡的服务器,发现80%的…...
告别烧脑报文!用ESP8266+51单片机零基础玩转OneNet MQTT(附报文生成工具)
从零到一:ESP8266与51单片机轻松对接OneNet MQTT全指南 当你第一次听说MQTT协议时,是否被那些晦涩的十六进制报文吓退?作为物联网领域最流行的轻量级通信协议,MQTT本应让设备间的对话变得简单,但传统教程中复杂的报文…...
5步构建专业视频工作流:OBS虚拟摄像头在macOS上的全面应用
5步构建专业视频工作流:OBS虚拟摄像头在macOS上的全面应用 【免费下载链接】obs-mac-virtualcam ARCHIVED! This plugin is officially a part of OBS as of version 26.1. See note below for info on upgrading. 🎉🎉🎉Creates …...
Harness:AI Agent 走向生产级的关键基础设施
摘要随着大语言模型能力持续增强,AI Agent 正从概念验证和演示场景,逐步进入复杂任务交付与生产系统落地阶段。然而,在长周期、高复杂度任务中,Agent 仍普遍面临连贯性不足、自我评估失真、结果不可控等问题。实践表明,…...
TargetMol明星分子—— 2‘,3‘-cGAMP
2,3-cGAMP 是哺乳动物细胞中的内源性 cGAMP。cGAMP 分子属于环状二核苷酸(CDNs)家族,以三种不同的形式存在:3′3′-cGAMP、2′3′-cGAMP和 3′2′-cGAMP。由哺乳动物细胞中环鸟苷腺苷酸合成酶(cyclic guanosine monoph…...
Subtitle Edit:实现专业级字幕制作的7大创新方法指南
Subtitle Edit:实现专业级字幕制作的7大创新方法指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 在视频内容创作与传播领域,字幕不仅是辅助理解的工具,更是提升…...
