欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Vim 修改(change)命令完整学习笔记

Vim 修改(change)命令完整学习笔记

2025/11/10 22:32:38 来源:https://blog.csdn.net/weixin_44726874/article/details/148560161  浏览:    关键词:Vim 修改(change)命令完整学习笔记

Vim 修改(change)命令完整学习笔记

目录

文章目录

  • Vim 修改(change)命令完整学习笔记
    • 目录
    • 1. 核心概念
    • 2. 单词级操作
      • 2.1 基础单词修改
      • 2.2 精确单词操作
    • 3. 括号和引号操作
      • 3.1 内容修改(inside)
      • 3.2 包含符号修改(around)
    • 4. 行级操作
      • 4.1 整行修改
      • 4.2 行内范围修改
    • 5. 字符级操作
    • 6. 文档级操作
    • 7. 搜索结合操作
    • 8. 可视模式操作
    • 9. 特殊命令
    • 10. 命令速查表
    • 11. 学习建议
      • 循序渐进的学习路径
      • 实践技巧
      • 常见错误避免

1. 核心概念

Vim 的 change 命令是编辑操作的核心,其基本格式为 c{motion},即"改变+动作"的组合。执行后会删除指定范围的内容并进入插入模式。

核心特点:

  • 删除内容 + 进入插入模式
  • 与删除(delete)命令的区别:change 会自动进入插入模式
  • 遵循 Vim 的"动作+操作"哲学

2. 单词级操作

2.1 基础单词修改

  • cw - 改变当前单词(到空格为止)
  • cW - 改变大写单词(到空格分隔为止,包含标点符号)
  • ce - 改变到当前单词结尾
  • cE - 改变到大写单词结尾

2.2 精确单词操作

  • ciw - 改变单词内容(不包含周围空格)
  • ciW - 改变大写单词内容(包含标点,不含空格)

💡 记忆技巧:小写 w 以空格和标点为界,大写 W 只以空格为界

3. 括号和引号操作

3.1 内容修改(inside)

  • ci" - 改变双引号内容
  • ci' - 改变单引号内容
  • ci) - 改变圆括号内容
  • ci] - 改变方括号内容
  • ci} - 改变花括号内容
  • cit - 改变 HTML/XML 标签内容
  • ci< - 改变尖括号内容
  • cib - 改变括号块内容

3.2 包含符号修改(around)

  • ca" - 改变双引号及其内容
  • ca' - 改变单引号及其内容
  • ca) - 改变圆括号及其内容
  • ca] - 改变方括号及其内容
  • ca} - 改变花括号及其内容

💡 记忆技巧i 表示 “inside”(内部),a 表示 “around”(周围)

4. 行级操作

4.1 整行修改

  • cc - 改变整行内容(等价于 S
  • S - 替换整行(等价于 cc

4.2 行内范围修改

  • C - 从当前位置改到行尾(等价于 c$
  • c$ - 改变到行尾
  • c0 - 改变到行首
  • c^ - 改变到行首第一个非空白字符

5. 字符级操作

  • s - 改变当前字符并插入(等价于 cl
  • cl - 改变当前字符

6. 文档级操作

  • cgg - 改变到文件开头
  • cG - 改变到文件末尾
  • c} - 改变到段落结束

7. 搜索结合操作

  • c/word - 改变到下一个 “word” 匹配处

8. 可视模式操作

  • cv - 在字符可视模式下改变选中内容
  • cV - 在行可视模式下改变选中内容
  • Ctrl-V + c - 在块可视模式下改变选中内容

9. 特殊命令

  • cA - 跳到行尾并插入(等价于 A
  • cif - 改变整个函数(需要相关插件支持)

10. 命令速查表

命令含义等价形式助记说明
c{motion}改变任意范围(通用格式)-change + 动作
cw改变当前单词(不含空格)cechange word
cW改变当前大写单词(空格分隔)-change Word(大写 W)
ce改变到当前单词结尾-change to end of word
cE改变到大写单词结尾-change to end of Word
ciw改变"当前单词"内容(不含空格)-change inside word
ciW改变"大写单词"内容(含空格)-change inside Word
ci" ci' ci) ci] ci}改变括号/引号内的内容-change inside “…”
ca" ca' ca) ca] ca}改变括号/引号及其内容-change around “…”
cit ci<改变标签内内容(HTML/XML)-change inside tag
cib改变括号 block 内内容-change inside block
cif改变整个函数(需插件)-change inside function
cc改变整行内容Schange current line
C从当前位置改到行尾c$change to end of line
c$改变到行尾Cchange $ (end of line)
c0改变到行首-change to 0 (line start)
c^改变到行首第一个非空白字符-change to ^ (first char)
cA跳到行尾插入(等于A)-change append (to end)
s改变当前字符并插入clsubstitute (char)
S改变整行(插入)ccsubstitute (line)
cl改变当前字符schange letter
cgg改变至文件开头-change to gg (top)
cG改变至文件末尾-change to G (bottom)
cv/cV/Ctrl-V+c可视模式改变选区-change visual selection
c}改变到段落结束-change to paragraph end
c/word改变到下一个word匹配处-change until/word

11. 学习建议

循序渐进的学习路径

  1. 第一阶段:掌握基础命令

    • cwccCs 等常用命令
    • 理解 change 与 delete 的区别
  2. 第二阶段:理解文本对象

    • 学会使用 ciwci"ci)
    • 区分 insidearound 的概念
  3. 第三阶段:组合应用

    • 结合动作命令使用
    • 在实际编辑中形成肌肉记忆

实践技巧

  • 多练习:在日常编辑中有意识地使用这些命令
  • 建立联系:理解命令背后的逻辑,而不是死记硬背
  • 渐进提升:从简单命令开始,逐步掌握复杂操作

常见错误避免

  • 不要混淆 cwciw 的区别
  • 记住 change 命令会自动进入插入模式
  • 理解大小写字母在 Vim 中的不同含义

📝 最重要的提示:change 命令执行后会自动进入插入模式,这是与删除(delete)命令的核心区别。掌握这一点,就掌握了 Vim 编辑的精髓。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词