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

【Vim】高效编辑技巧全解析

本篇将从光标移动技巧、常用快捷操作、组合命令运用等方面逐步讲解 vim 的使用。


📘 高效光标移动技巧

在 Vim 中,光标移动是编辑效率的核心之一。以下是一些必须掌握的移动命令,按使用频率和实用程度分类整理:

🔹 基本单字符移动(熟练掌握)
命令说明
h左移一个字符
l右移一个字符
j下移一行
k上移一行
🔹 行内快速跳转(提高速度)
命令说明
0移动到行首
^移动到行首第一个非空白字符
$移动到行尾
🔹 单词移动(提升阅读与修改速度)
命令说明
w移动到下一个单词的开头
W移动到下一个“空格分隔词”的开头(包括符号等)
e移动到当前/下一个单词的结尾
b回到前一个单词的开头
🔹 屏幕跳转(快速浏览)
命令说明
H当前屏幕的顶部行
M当前屏幕的中间行
L当前屏幕的底部行
Ctrl + d向下移动半屏
Ctrl + u向上移动半屏
Ctrl + f向下翻页
Ctrl + b向上翻页
🔹 精准定位(精准跳转)
命令说明
G跳转到文件末尾
gg跳转到文件开头
:10跳转到第 10 行
/关键字向下搜索
?关键字向上搜索
n/N继续/反向查找

✅ 练习任务1:

  1. 打开一个 .txt.c 文件。
  2. 使用 w/W, e, b 在词间移动光标。
  3. 尝试用 /, n, gg, G, :行号 快速定位到不同区域。
  4. 练习 Ctrl + d/uH/M/L 来翻页与对齐视角。

📘 编辑效率提升技巧

这一部分将帮助您快速修改文本、撤销错误操作、复制粘贴内容,并逐步掌握 Vim 的“组合命令理念”——这是成为高效 Vim 用户的关键!


🔹 1. 删除与剪切命令(Delete)

命令说明
x删除光标所在的一个字符(相当于剪掉)
X删除光标前的一个字符
dd删除当前整行
d0删除至行首
d$删除至行尾
dw删除一个单词
d2w删除两个单词
dG删除从当前行到文件末尾的所有内容

🧠 组合命令思路:
d + 移动命令 = 删除范围
例如:d} 删除到下一段落、d/^关键词 删除到某个搜索结果。


🔹 2. 复制与粘贴(Yank & Paste)

命令说明
yy复制当前行(yank)
Y等同于 yy
p在光标后粘贴
P在光标前粘贴
y0从当前光标复制到行首
y$从当前光标复制到行尾
yw复制一个单词

提示:

  • y + 移动命令 = 复制范围(如 yG 复制到文件末尾)。
  • 复制全文到系统剪切板::%y+

🔹 3. 撤销与重做

命令说明
u撤销上一个操作
U撤销当前行所有更改
Ctrl + r重做(撤销的撤销)

🔹 4. 重复上一次命令

命令说明
.重复上一次非移动命令操作

示例:

  • 输入 dw 删除一个单词;
  • 然后输入 . 可以再删下一个;
  • 多个 . 可连续操作,非常适合重复清理。

🧠 实战思维:组合操作简化复杂任务

Vim 的高效编辑核心:操作命令 + 范围命令

示例说明
c$改写至行尾(delete + insert)
d}删除到段落结尾
y3j复制当前行向下共 3 行
2dd删除两行

✅ 练习建议2:

打开一个 .txt.md 文件,练习以下内容:

  1. dd, d$, d2w 删除不同范围内容。
  2. yy, yw, yG, p, P 实现复制粘贴。
  3. 试试 ., u, Ctrl + r 来理解 Vim 的“后悔药”机制。
  4. 练习组合命令 d3j, y5k, c$,体验 Vim 的“动作+对象”逻辑。

📌 学习进度记录:

阶段状态说明
Vim 基本模式切换✅ 已掌握熟悉普通、插入、命令、可视模式
高效光标移动✅ 进行中熟练掌握了行内/屏幕/词语跳转
编辑效率操作🔄 学习中正在掌握删除、复制、撤销等技巧
http://www.xdnf.cn/news/10280.html

相关文章:

  • RFID推动医行智能终审系统药物管理应用案例
  • 基于springboot的医护人员排班系统设计与实现(源码+文档+部署讲解)
  • 每天掌握一个Linux命令 - fail2ban
  • 2020年dm8定时自动备份与删除备份
  • AI炼丹日志-24 - MCP 自动操作 提高模型上下文能力 Cursor + Sequential Thinking Server Memory
  • 多杆合一驱动城市空间治理智慧化
  • 修改Cinnamon主题
  • RAG应用:交叉编码器(cross-encoder)和重排序(rerank)
  • 鸿蒙OSUniApp自定义手势识别与操作控制实践#三方框架 #Uniapp
  • 软件工程:关于招标合同履行阶段变更的法律分析
  • Ubuntu 22.04 上使用 Docker 安装 RagFlow
  • SOC-ESP32S3部分:20-SPISPI屏幕驱动
  • 1.2 HarmonyOS NEXT分布式架构核心技术解析
  • TiDB 发布 MCP Server:引领国产数据库迈向智能 AI 代理新应用范式
  • Windows环境下PHP,在PowerShell控制台输出中文乱码
  • 测试基础(二)
  • @Docker Compose 部署 Prometheus
  • SOC-ESP32S3部分:19-ADC模数转换
  • 基于CNN的OFDM-IM信号检测系统设计与实现
  • 安装启动Mosquitto以及问题error: cjson/cJSON.h: No such file or directory解决
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.14 R语言解题
  • 从印巴空战看数据制胜密码:元数据如何赋能数字战场
  • 长尾关键词优化驱动SEO增长
  • 数据结构 堆与优先级队列
  • 几种常用的Agent的Prompt格式
  • 【GESP真题解析】第 17 集 GESP 二级 2024 年 9 月编程题 2:小杨的 N 字矩阵
  • 8.5 Q1|广州医科大学CHARLS发文 甘油三酯葡萄糖指数累积变化与 0-3期心血管-肾脏-代谢综合征人群中风发生率的相关性
  • UE5蓝图暴露变量,类似Unity中public一个变量,在游戏运行时修改变量实时变化和看向目标跟随目标Find Look at Rotation
  • 法律AI大模型与:应用原理、技术演进和实际案例
  • Apptrace:APP安全加速解决方案