Vim

发布: (2025年12月27日 GMT+8 20:57)
3 min read
原文: Dev.to

Source: Dev.to

1. 匹配光标所在单词的所有出现位置

*

2. 用另一个单词替换当前单词

:%s/word/newword/gc

g – 全局,c – 确认

3. 可视化选择一个单词(i / a – 内部 / 外部)

viw   " selects only the word itself
vaw   " selects the word plus surrounding whitespace
vi(   " visual text inside ()
ci"   " change inside double quotes
va(   " visual around ()
va"   " visual around double quotes

4. 显示所有寄存器

:reg

5. 从指定寄存器粘贴

"p

6. 将当前行复制到系统剪贴板(+ – 剪贴板寄存器)

"+yy

7. 将当前文件名复制到系统剪贴板

:let @+=@%

% 寄存器(当前文件名)的内容赋给 + 寄存器(系统剪贴板)。

8. 复制当前文件的绝对路径

:let @+ = expand('%:p')

9. 录制并播放宏

qq   " start recording, perform actions, stop
@h   " replay macro stored in register h

10. 在可视选择中使用 :normal 模式

当你在可视模式下选中行并按 : 时会得到:

:'

随后可以对每一行执行普通模式命令:

:'normal 

常用键

  • I – 跳到每行开头并进入插入模式
  • A – 跳到每行结尾并追加文本

示例 – 在每行前面添加 var

hello
world
goodbye

:'normal Ivar␣

结果

var hello
var world
var goodbye

示例 – 在每行后面追加 ;

hello
world
goodbye

:'normal A␣;

结果

hello ;
world ;
goodbye ;

示例 1

示例 2

11. 增减数字

  • Ctrl‑a – 增加光标所在的数字
  • Ctrl‑x – 减少光标所在的数字
value = 2

选中所有行,按 gCtrl‑a 可对每个数字递增:

list.get(0);
list.get(0);
list.get(0);
list.get(0);
list.get(0);
list.get(0);

执行 gCtrl‑a 后:

list.get(1);
list.get(2);
list.get(3);
list.get(4);
list.get(5);
list.get(6);

12. 切换选择方向

  • o – 切换到选择的另一端(向前)
  • O – 切换到选择的另一端(向后)

13. 使用 w / W 的单词移动

  • w – 移动到下一个单词的起始位置(字母、数字或下划线)
  • W – 移动到下一个以空白分隔的单词的起始位置
Lis:st.get(0) hello world
Back to Blog

相关文章

阅读更多 »

解码 ARM Cortex-Mx 异常入口与退出

引言 – 为什么要写这篇文章 在 ARM Cortex‑M 系列上进行中断处理在理论上看起来很简单,但一打开调试器就会变得令人困惑。 - PC v...