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

拓展4 | 插件样例分析:自己动手改进插件

使用 after 目录
使用 autoload 目录
添加文件类型识别
文件类型判断
初始化过程
允许用户定制键映射
修改键映射
添加键映射
设置 Vim 选项
Python 代码实现主体功能
设置全局变量给 YCM 使用
提供的命令和定制点
插件的目录结构
分析常用插件的主体结构
提供的命令和定制点
插件的目录结构
分析常用插件的主体结构
延迟加载脚本的使用
目录的加载顺序
自动命令组的使用
全局变量允许用户定制行为
重要的 Vim 函数:exists, expand, has
arm-syntax-vim
EchoFunc
cscope_maps.vim
ycmconf
分析四个样例插件的代码结构和功能
插件的加载时执行的代码
插件的功能独立性
插件的特点和分类
插件和其他 Vim 脚本的区别
Vim 脚本可以应用在不同场景下
课后练习
常见的 Vim 脚本用法
分析四个样例插件的代码结构和功能
插件的特点和分类
Vim 脚本的应用场景
课后练习
课后练习
常见的 Vim 脚本用法
分析四个样例插件的代码结构和功能
插件的特点和分类
Vim 脚本的应用场景
主题总结
Vim 插件样例分析

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

你好,我是吴咏炜。
上一讲,我们对 Vim 脚本作了初步的介绍。Vim 脚本可以应用在很多不同的场景下,比如我们的 vimrc 配置文件和配色方案也都是 Vim 脚本。但我们今天更关心的,是我们经常使用的、一般称为“插件”的特殊 Vim 脚本。虽说插件和其他 Vim 脚本之间的界限也并非泾渭分明,但我们一般把满足以下条件的 Vim 脚本称为插件:
功能独立,不依赖特殊的个性化配置
存在加载时即会执行的代码,一般放在 plugin 目录下(也有放在 ftplugin、ftdetect 等其他目录下的情况)
今天,我们就利用目前学到的知识,来由浅入深地分析四个样例,了解插件代码是如何编写的,从而可以自己动手定制、改进,进而编写自己的插件,真真正正地定制自己的 Vim 环境,并为整个 Vim 社区作出贡献。

ycmconf

我们要看的第一个脚本,是在讲 YCM 时引入的 ycmconf。这是一个非常简单的插件,我们就拿它开始我们今天的课程。
如果你之前按我说的步骤安装的话,现在应该可以在 Vim 配置目录下的 pack/minpac/start/ycmconf 里找到它。你也可以自己用 Git 签出:
git clone https://github.com/adah1972/ycmconf.git
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过分析Vim插件样例,展示了插件代码的编写和改进过程。首先介绍了ycmconf插件,展示了Vim脚本中使用expand函数的方法。其次介绍了cscope_maps.vim插件,通过分析原始版本的代码和作者的修改过程,展示了插件中的条件语句设置、Vim选项设置以及键映射的编写方法。文章还介绍了EchoFunc插件的使用方法和特点,以及其在初始化过程中的一些特殊逻辑。另外,文章还展示了arm-syntax-vim插件的实际需求和定制过程,通过对插件代码的深入解析,读者可以更好地理解Vim插件的开发和定制,为他们的工作环境定制和改进提供了有益的参考。总结了Vim脚本的常见用法和相关知识点,包括Vim脚本的目录结构、常用函数、全局变量定制、自动命令组、延迟加载脚本等。读者可以通过分析自己常用的插件,了解其主体结构、不同目录的使用、主要模块、提供的命令和定制点。整体而言,本文为读者提供了深入理解Vim插件开发和定制的实用指南。

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

全部留言(3)

  • 最新
  • 精选
  • 我来也
    难得有一回`一言不合就看源码`的勇气. 虽然平常也看不太懂,但可以加调试日志,知道运行的状态. 偶尔改改了还能立马看看效果. 由于我起步晚,现在年纪也大了,实在是没精力钻研这个语言了. 羡慕和感激哪些持续提供和改进vim插件的作者们.

    作者回复: 我觉得你很厉害啊,至少学习的动力比年轻人都足(如果你真称得上“年纪大了”)。

    2020-09-02
    4
    2
  • 老王
    使用quickfix打开make出错的文件路径,屏幕是空白的,明显是打开的路径错了,请问怎么能配置打开出错文件的路径呢?

    作者回复: 请给出: 使用的编译器 使用的 makeprg 选项数值 使用的 errorformat 选项数值 含文件名的错误信息样例 如果你使用的是 MSVC,则请直接参照第 10 讲配置 errorformat 即可。

    2020-09-03
  • 瀚海星尘
    原来插件是这么工作的,之前还好奇他们是如何整合进来的,可算抓到大概了~
    2020-10-24
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部