修改文本
约 849 字大约 3 分钟
NeovimVim文本编辑
2026-03-20
这一篇把最常用的文本编辑动作集中起来:删除、修改、替换、可视模式、复制粘贴和文本对象。
删除与修改操作符
最重要的两个操作符是:
d:删除。c:修改,执行后会进入 Insert 模式。
它们通常要和移动命令组合使用。
例如:
dw:删除到下一个单词开头。d4w:删除到第 4 个单词后的开头。de:删除到当前单词结尾。d$:删除到行尾。dl:向右删除一个字符。dj:删除当前行和下一行。
c 的用法和 d 基本一致,只是删除后会直接进入输入模式。
常见等价命令
| 指令 | 等价形式 | 说明 |
|---|---|---|
x | dl | 删除当前字符 |
X | dh | 删除前一个字符 |
D | d$ | 删除到行尾 |
C | c$ | 修改到行尾 |
s | cl | 修改当前字符 |
S | cc | 修改当前行 |
替换字符
r<char>:把当前字符替换为指定字符。<number>r<char>:连续替换多个字符。R:进入 Replace 模式,之后输入内容会持续覆盖原文本,直到按下Esc。
需要注意,R 不是“快速执行某个文本对象修改”的命令,而是专门的替换模式。
重复上一次修改
. 可以重复上一次修改操作,这也是 Vim 编辑效率的核心之一。
例如把文档中的 four 逐个替换成 five:
/four<Enter>cwfive<Esc>n.
Visual 模式
当直接用操作符不好描述目标范围时,可以进入 Visual 模式先选中,再执行操作。
v:字符级可视模式。V:行级可视模式。o:在选区两端来回切换光标。Esc:退出可视模式。
粘贴与复制
p:在当前位置后粘贴。P:在当前位置前粘贴。y:复制操作符,可配合移动命令使用。yy:复制当前行。Y:在 Neovim 中通常等同于复制整行,实际使用时直接记yy更稳妥。
系统剪贴板
如果 Neovim 编译时支持剪贴板,可以使用寄存器与系统剪贴板交互:
"*y或"+y:复制到系统剪贴板。"*p或"+p:从系统剪贴板粘贴。
不同平台对 * 和 + 的行为可能略有差异,实际以当前环境为准。
文本对象
文本对象让“编辑一个词、一个句子、一个括号块”这类操作变得更自然。
例如:
daw:删除当前单词及相邻空格。diw:只删除当前单词本身。das:删除当前句子。dis:删除当前句子但尽量保留外部空白边界。caw、ciw:对应地修改文本对象。
这里的:
a可以理解为 around。i可以理解为 inner。
使用建议
- 把
操作符 + 移动和操作符 + 文本对象作为核心思路,比背单个命令更有价值。 - 如果某个改动需要重复很多次,先想想能否用
.来复用上一步修改。 - 文本对象速查可继续看 12.快捷键索引-文本对象。--- title: 修改文本 createTime: 2026/03/20 12:44:24 permalink: /notes/knowledge/0ngm55hd/