Vim 实用技巧必知必会
吴咏炜
前 Intel 资深软件架构师
21753 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 25 讲
Vim 实用技巧必知必会
15
15
1.0x
00:00/00:00
登录|注册

03|更多常用命令:应对稍复杂的编辑任务

重复
更快地移动
文本对象选择
文本修改
光标移动
Vim 常用命令总结

该思维导图由 AI 生成,仅供参考

你好,我是吴咏炜。
上一讲我们通过 Vim 教程学习了 Vim 的基本命令,我还给你讲解了 Vim 的基本配置,现在你就已经可以上手基本的编辑工作了。
今天,我们将学习更多 Vim 的常用命令,以便更高效地进行编辑。我会先带你过一下光标移动命令和文本修改命令,然后重点讲解文本对象,随后快速讨论一下不能搭配文本修改的光标移动命令,最后讨论如何重复命令。

光标移动

我们先来讨论一下可以跟文本修改、复制搭配的光标移动命令。
通过前面的课程,你已经知道,Vim 里的基本光标移动是通过 hjkl 四个键实现的。之所以使用这四个键,是有历史原因的。你看一下 Bill Joy 开发 vi 时使用的键盘就明白了:这个键盘上没有独立的光标键,而四个光标符号直接标注在 H、J、K、L 四个字母按键上。
Lear Siegler ADM-3A 终端键盘的排布(图片源自维基百科)
当然,除了历史原因外,这四个键一直使用至今,还是有其合理性的。它们都处于打字机的本位排(home row)上,这样打字的时候,手指基本不用移动就可以敲击到。因此,即使到了键盘上全都有了光标移动键的今天,很多 Vim 的用户仍然会使用这四个键来移动光标。
不过,标准的光标移动键可以在任何模式下使用,而这四个键并不能在插入模式下使用,因此,它们并不构成完全的替代关系。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Vim 更多常用命令:编辑效率提升 Vim 是一款强大的文本编辑器,本文介绍了其更多常用命令,帮助读者更高效地进行编辑。首先介绍了光标移动命令,包括基本的光标移动和跳转到行首、行尾、单词等的命令。然后重点讲解了文本修改命令,包括删除、修改、替换等操作的快捷键。文章强调了Vim 的设计理念,即尽可能少的按键完成常用功能,同时介绍了大写键对应的不同功能。另外,还介绍了文本对象选择的功能,如选择单词、句子、段落等,以及更快地移动光标和屏幕的功能。最后,强调了Vim 的重复功能,通过简洁的语言和清晰的示例,帮助读者快速了解 Vim 的常用命令,为他们提供了实用的编辑技巧。文章内容涵盖了Vim 编辑器的高级功能,对于想要提升编辑效率的读者来说,是一份有价值的技术指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Vim 实用技巧必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(36)

  • 最新
  • 精选
  • qinsi
    c2i{真是神操作,要是我的话就只会通过V模式先选中再修改了。选这门课也是希望能看到更多这样的操作,即在同样的情况下有经验的人是如何做的

    作者回复: 是的。这个是特色功能。

    2020-07-29
    28
  • Adoy
    "c2i{"那个动图是我买这个专栏的直接导火索哈哈哈,这节课看到"c2i{"就开心地跑去vscode试一下。然后发现vscode的vim插件不能实现。花了4小时帮他们debug出来,提交了pull request。。。。

    作者回复: 牛👍。正确使用开源软件的姿势。 不过,vim-surround 这样的插件在 vscode 里还是没法装、用吧?

    2020-08-01
    9
    14
  • helloworld
    文本对象操作, 再补充一个常用的复制动作y

    作者回复: 补充得有道理!我比较少这么用。更常见是先用 v 选择,看清选择后,再 y 比较有信心。不过道理上讲,y 确实算。

    2020-07-29
    3
  • 绝尘而去
    补充两个上下移动的键,gj和gk,这两个可以在由于屏幕限制而导致的换行中使用。

    作者回复: 我没讲的功能永远有很多。🤣 这两个按键,我后面倒是会讲到(拓展1)。它们的主要功用是在很长的文本行里,而非一般的代码。

    2020-07-29
    3
  • KoALa
    老师,我记得 daw里面的 a的意思应该是 around...

    作者回复: 官方文档里都是说“delete a word”的(diw 是“delete inner word”)。

    2022-07-20
    2
    2
  • Citizen Z
    普通编辑器像是在跟文本下命令,这个像是跟文本聊天

    作者回复: 哈哈,有意思的比方。

    2020-08-31
    2
  • Gin
    c2i{这个操作的效果在python代码中应该怎么实现呢。试了下cis cip都会删掉一整段代码...

    作者回复: 这个就是看大括号的,Python 里没有对应物。不过,Python 支持提供了 ]]、[[、]m、[m 这样的按键,你可以试试。

    2020-08-04
    1
  • YouCompleteMe
    命令模式下的光标基于单词的移动,有什么好方法吗?感觉S-Left/Right比较麻烦。我一般都是^f切到命令历史,^c切回命令,对于输入一部分,发现有输入错误,想要修正比较麻烦

    作者回复: 推荐下面评论里“我来也”的方法。直接在命令历史(可以直接用 q: 打开)里编辑,编辑完直接回车即可执行。

    2020-07-29
    3
    1
  • Zzzzz
    为什么我图片不会动

    作者回复: 网站问题。已经修复。 请到设置下面清除缓存,然后杀掉极客时间应用。重新启动极客时间后,应该就一切正常了。

    2021-06-10
  • 砖用冰西瓜
    “a 可以简单理解为英文单词 a”是不是想说“a 可以简单理解为英文单词 all”?

    作者回复: 不是。下面就写到了: ‘daw’(理解为 delete a word) 等等

    2021-04-16
    2
收起评论
显示
设置
留言
36
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部