欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 【Mastering Vim 2_12】(完结篇)第九章:以终为始 —— Vim 推荐编辑习惯与相关学习资源整理

【Mastering Vim 2_12】(完结篇)第九章:以终为始 —— Vim 推荐编辑习惯与相关学习资源整理

2025/3/14 13:21:06 来源:https://blog.csdn.net/frgod/article/details/146163798  浏览:    关键词:【Mastering Vim 2_12】(完结篇)第九章:以终为始 —— Vim 推荐编辑习惯与相关学习资源整理

最新版《Mastering Vim》封面,涵盖 Vim 9.0 版特性

【最新版《Mastering Vim》封面,涵盖 Vim 9.0 版特性】

文章目录

  • 第九章 下一步打算
    • 1 文本高效编辑的七个习惯
    • 2 三个作者推荐的本文编辑好习惯
    • 3 Vim 模式风格的迁移
    • 4 浏览器的 Vim 扩展
    • 5 在任意文本框启用 Vim 编辑的小工具
    • 6 尝试 Neovim
    • 7 Vim 读物与社区资源

写在前面
终于来到了本书最后一章的笔记整理。这本总共 300 页的 Vim 小册子里,更多强调的是实用工具的用法以及不同应用场景的介绍。最后一章没有什么硬核知识点,都是一些使用习惯的建议和供延伸阅读的学习资源。和我之前的《Vim Masterclass》专栏相比,倒更像是 Vim 知识点的训练营,勉强算作 Vim 的进阶专栏吧。虽然这两个专栏已经涵盖了绝大部分 Vim 核心知识点,但还是有必要强调一下,二八定律在 Vim 的使用上依然适用,想要用好 Vim 还需要不断复盘与积累。后续我也会结合自己在实际场景中遇到的问题有选择地放到这两个专栏中,既方便自己查找,也可以帮后来人避坑。非常感谢大家的持续关注!

第九章 下一步打算

本章概要

  • 良好的编辑习惯介绍(摘自 Bram Moolenaar 的讲稿)
  • Vim 的模式风格集成到其他 IDE、浏览器等场景的方法
  • 一些 Vim 社区和推荐读物

本章为全书最后一章,主要介绍了后续 Vim 学习的一些工具和资源。

1 文本高效编辑的七个习惯

文章出处:https://moolenaar.net/habits.html 1

要点整理如下:

  1. 快速移动光标

    • 大部分时间花在阅读、查找错误和定位上,而不是插入或修改文本。

    • 使用搜索命令(如 /pattern)和快捷键(如 *%gd)可以快速定位文本。

    • 通过设置 incsearchhlsearch 选项,可以实时显示搜索结果并高亮匹配项。

  2. 避免重复输入

    • 使用替换命令(:s)和重复命令(.)来减少重复输入。

    • 利用 Vim 的自动补全功能(如 CTRL-N)来快速输入长单词或短语。

    • 使用宏(qa@a)记录和重复复杂的编辑操作。

  3. 及时纠正错误

    • 使用缩写(:abbr)自动纠正常见拼写错误。

    • 利用语法高亮功能快速发现代码中的错误,如未闭合的括号或拼写错误。

    • 通过 % 命令检查括号匹配,确保代码结构正确。

  4. 处理多个文件

    • 使用标签文件(tags file)和 :grep 命令在多个文件中快速跳转和查找。

    • 利用 Vim 的多窗口功能同时编辑和比较多个文件。

    • 使用预览窗口查看函数声明或结构定义,而无需离开当前文件。

  5. 与其他工具协作

    • 编辑器应与其他工具(如编译器、邮件客户端)协同工作,以提高效率。

    • 使用外部程序(如 wc)处理文本,如统计字数。

    • Vim 正在努力与其他开发工具(如 MS-Developer StudioMutt)集成。

  6. 处理结构化文本

    • 对于结构化文本,可以编写宏或插件来自动化编辑任务。

    • 使用 :make 命令加速编辑-编译-修复的循环,并根据编译器调整 errorformat 选项。

    • 通过自定义宏和命令,快速处理特定类型的文件(如手册页)。

  7. 养成习惯

    • 学习新命令并将其变成习惯,但不必掌握所有命令。

    • 定期反思重复性任务,寻找自动化解决方案。

    • 通过不断练习,将常用命令内化为肌肉记忆,提高编辑效率。

2 三个作者推荐的本文编辑好习惯

  1. 时常检查低效环节:如浏览大段文本很费时间。
  2. 找到更快捷的方法:此时可以通过 * 键检索光标所在的单词、启用 incsearchhlsearch 等选项提高效率。
  3. 形成习惯:将常用的提效配置存入 .vimrc 文件。

3 Vim 模式风格的迁移

Vim 文本编辑的高效得益于不同 模式 间的高效协同。为此,也可以将这种风格迁移到其他日常场景中,例如:

  1. Emacs 集成:使用 Evilhttps://github.com/emacs-evil/evil
  2. JetBrains 旗下产品集成:使用 IdeaVim 扩展(https://github.com/JetBrains/ideavim
  3. Eclipse 集成:使用 Eclim 扩展(https://eclim.org/2Vrapper 扩展(https://vrapper.sourceforge.net/home/

4 浏览器的 Vim 扩展

两款 Chrome 浏览器插件推荐:

  • Vimium:老牌集成 Vim 操作的浏览器插件,同时支持 Chrome、Edge、Firefox 浏览器;
  • Vimium C:国内开发者基于 Vimium 插件进行的二次开发,中文友好,功能更强(推荐)。

安装 Vimium C 扩展后,可在 Chrome 标签页输入大写的 F,快速定位的页面上的指定位置(风格类似 EasyMotion 插件):

图 9.1 Vimium C 扩展的快速导航功能实测效果截图

【图 9.1 Vimium C 扩展的快速导航功能实测效果截图】

输入问号键 ? 即可快速弹出帮助窗口:

图 9.2 Vimium C 扩展工具的快速帮助窗口,支持完善的中文提示

【图 9.2 Vimium C 扩展工具的快速帮助窗口,支持完善的中文提示】

5 在任意文本框启用 Vim 编辑的小工具

LinuxMacOS 系统:vim-anywherehttps://github.com/cknadler/vim-anywhere

Windows 系统:Text Editor Anywherehttps://www.portablefreeware.com/index.php?id=2188

6 尝试 Neovim

Neovim 其实是 Vim 的一个 Fork 分支。改用 Neovim 很大程度上是因为 Vim 的一些不足:

  • 代码库维护历史已逾 30 年,向后兼容愈发困难;
  • 要编写某些特定功能的插件难度很大(如支持异步操作,但后来 Vim 8.x 已提供原生异步支持);
  • Vim 插件开发需要精通 Vimscript,难度很大;
  • 若要用于工作场景,大概率需要修改 vimrc 配置文件。

Neovim 的优点:

  • Vim 代码库进行大规模重构,并提供单一的风格指南、提高测试覆盖率;
  • 取消对历史遗留系统的沉重支持;
  • 配备最新的编辑器默认设置选项;
  • 为插件和外部程序提供丰富的应用程序接口,包括 PythonLua 插件支持等。

Neovim 代码库:https://github.com/neovim/neovim

Neovim 安装方法:https://github.com/neovim/neovim/wiki/

命令行快捷安装:

# 基于 Debian 的 Linux 发行版:
$ sudo apt install neovim
# neovim 需要 Python3 的相关支持
$ python3 -m pip install neovim
# 启动命令
$ nvim

7 Vim 读物与社区资源

最方便的参考资料当推 Vim 帮助文档(:help usr_toc.txt)。

其他社区资源:

  • Vim 邮件列表:vim-announce@vim.org
  • Vim 用户支持邮件列表:vim@vim.org,相关存档信息详见:https://groups.google.com/forum/#!forum/vim_use
  • Vim 开发者邮件列表:vim-dev@vim.org,相关存档信息详见:https://groups.google.com/forum/#!forum/vim_dev
  • Vim IRC 3 频道:https://webchat.freenode.net
  • Reddit 上的 Vim 社区:https://reddit.com/r/vim
  • Vim 热点问题:https://vi.stackexchange.com/

其他学习资源:

  • Vim Tips Wiki:https://vim.wikia.com
  • Vim screencasts:http://vimcasts.org
  • Learn Vimscript the Hard Way:http://learnvimscriptthehardway.stevelosh.com
  • Vim adventures:https://vim-adventures.com/
  • Vim golf:https://www.vimgolf.com/
  • 作者自己的网站 Vim 专栏:https://www.rosipov.com/blog/categories/vim

  1. Bram MoolenaarVim 的主要开发者,毕业于代尔夫特理工大学(technical university of Delft),主要从事软件开发工作。他也是 ICCF Holland 的创始人和财务主管,致力于帮助乌干达的孤儿。Bram Moolenaar 已于 2023 年 8 月 3 日去世,享年 62 岁,具体疾病细节并未公开。直到去世前一个月,他仍在为 Vim 编辑器提交代码,显示出他对开源事业的持续投入和热爱。 ↩︎

  2. 由于 Eclipse 日渐式微,Eclim 已于 2024 年 8 月 3 日停止维护。 ↩︎

  3. IRC 是 Internet Relay Chat 的缩写,是一种交换信息的协议。IRC 主要用于小组讨论。 ↩︎

版权声明:

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

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

热搜词