Vim 实用技巧必知必会
吴咏炜
前 Intel 资深软件架构师
新⼈⾸单¥19.9
2367 人已学习
课程目录
已更新 23 讲 / 共 24 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (2讲)
开篇词|我们为什么要学 Vim?
免费
导读|池建强:Vim 就是四个字“唯快不破”
基础篇 (10讲)
01|各平台下的 Vim 安装方法:上路前准备好你的宝马
02|基本概念和基础命令:应对简单的编辑任务
03|更多常用命令:应对稍复杂的编辑任务
04|初步定制:让你的 Vim 更顺手
05|多文件打开与缓冲区:复制粘贴的正确姿势
06|窗口和标签页:修改、对比多个文件的正确姿势
07|正则表达式:实现文件内容的搜索和替换
08|基本编程支持:规避、解决编程时的常见问题
09|七大常用技巧:让编辑效率再上一个台阶
10|代码重构实验:在实战中提高编辑熟练度
提高篇 (6讲)
11|文本的细节:关于字符、编码、行你所需要知道的一切
12|语法加亮和配色方案:颜即正义
13|YouCompleteMe:Vim 里的自动完成
14|Vim 脚本简介:开始你的深度定制
15|插件荟萃:不可或缺的插件
16|终端和 GDB 支持:不离开 Vim 完成开发任务
拓展篇 (5讲)
拓展1|纯文本编辑:使用 Vim 书写中英文文档
拓展 2|C 程序员的 Vim 工作环境:C 代码的搜索、提示和自动完成
拓展3|Python 程序员的 Vim 工作环境:完整的 Python 开发环境
拓展 4 | 插件样例分析:自己动手改进插件
拓展5 | 其他插件和技巧:吴咏炜的箱底私藏
Vim 实用技巧必知必会
15
15
1.0x
00:00/00:00
登录|注册

拓展5 | 其他插件和技巧:吴咏炜的箱底私藏

吴咏炜 2020-09-07
你好,我是吴咏炜。
上一讲我介绍了最重要的一些插件。今天这讲拓展,我们就算是查漏补缺,再分享一些我个人这些年压箱底的收藏。这些插件和技巧有新有旧,都非常好用,欢迎你挑选感兴趣的内容,纳入自己的个人收藏箱。

插件

Syntastic 和 ALE

说到代码检查插件,我最早是从 Syntastic 开始用的,然后慢慢转向了 ALE。不过,我因为主要写 C++ 和 Python,所以慢慢放弃了使用这两个插件,转而使用对这两种语言支持较好的 YCM(第 13 讲)和 Python-mode(拓展 3)。
虽然 YCM 和 Python-mode 集成的工具比较有限,比如 YCM 对 C++ 的代码检查仅限于 Clang 系列工具提供的支持,而不像 Syntastic/ALE 还可以选择很多其他的工具,但是,它们对我来讲还是够用了——何况对于 C 和 C++,要让 Syntastic 或 ALE 干活的话,大部分情况下需要配置头文件包含路径和编译选项,也是件麻烦事。
不过,对于其他语言的开发者,Syntastic/ALE 可能还是非常有用的。
先说 Syntastic。这是一个老牌的代码检查插件,其 1.0 版本发布在 2009 年。这些年下来,这个插件里积累了好几十种语言的代码检查支持,既有常见的 C、C++、Python、Java、JavaScript 等语言,也有冷门一点的 ACPI、AppleScript、Julia、VHDL、z80 汇编等语言。对于每种语言,它能自动识别已经安装的代码检查器,并在你文件存盘时自动检查代码(也可以手工使用 :SyntasticCheck 命令来检查)。要检查当前文件 Syntastic 识别到了哪些代码检查器,可以使用 :SyntasticInfo 命令;而在 ALE 中没有等价的好用命令。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Vim 实用技巧必知必会》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥19.9
立即订阅
登录 后留言

精选留言(2)

  • 我来也
    老师连压箱底的东西都拿出来了,我们赚到了哈。

    # Syntastic 和 ALE
    前面这个插件已经被我屏蔽了,后面这个还保留着在。
    当时是安装了coc.nvim后,觉得功能有些重复了。

    # Renamer
    看上去还不错,抽空了试试。

    # Undowarning
    这个功能是我想过,但是没花精力折腾过的。
    我一般会用`:e`来重新载入文件内容,但是无法处理打开了文档,中途又存过档的问题。

    不支持包管理就Fork一下,自己折腾一下吧。
    毕竟现在还要手动下载安装有点麻烦。

    # Rainbow
    这个插件很早就装了,配置中有一段参考了这个:
    https://github.com/luochen1990/rainbow/blob/master/README_zh.md
    具体为啥已经忘记了。

    虽然安装的早,但是真正发挥这个插件的价值,正是从老师这学会开启了`termguicolors`配置后。
    之前的可选颜色很少,效果并不明显。现在每一层级的括号都是鲜明的颜色,简直不能再好了。

    # Auto-pairs
    我对这个插件真是又爱又恨。
    默认的配置中,我只添加了一项:
    `let g:AutoPairsMapCh = 0 " 不需要修复<C-h>删除前面的字符`
    因为这个按键已经被我映射为了在插入模式中移动光标,而不是删除字符了。

    对它爱的地方是真的方便。
    对它恨的地方是有个场景下的行为不是我想要的。
    例如:
    ```
    let g:AutoPairsMapCh = 0 " 不需要修复<C-h>删除前面的字符 "<光标在这里>

    " jedi-vim插件映射了`<leader>n` 这里用不上 就禁用掉
    ```
    如果我在光标的地方删除前面那个`"`,这个插件会人性化的把空行和后面的`"`也删除掉。
    以至于我都养成了习惯,删除这个位置的"`"用`x`而不是`<Delete>`

    今天学了专栏,知道还可以通过快捷键来切换插件的启用状态。

    # Largefile
    想不到还有插件搞这个事情,我得好好看看。
    之前是参考的这里:
    https://vim.fandom.com/wiki/Faster_loading_of_large_files
    大约十几行代码可以满足我的需求。
    我之前用vim主要是看日志,动辄几百兆。用了它,打开大文件时终于不用去喝水了。

    # Markdown Preview
    除了`iamcco/markdown-preview.nvim`,我还安装了`plasticboy/vim-markdown`。
    我也忘记为啥要安装两个了。
    有了它后,在vim中写markdown文件,还可以在浏览器中实时的预览,是真的方便。

    # Calendar
    我安装的是`itchyny/calendar.vim`
    但是说实话,我用的并不多,哈哈。

    # Matrix
    学习了

    # Killersheep
    升级vim到8.2时安装过。

    # 行过滤
    学习了。
    之前好像是`grep -v`来实现相同的效果。

    # 自动关闭最后一个 quickfix 窗口
    这也是一个我一直想要的功能,哈哈。
    有了它,再也不用多按一次`ZQ`了!

    # Home 键的行为
    我好像在vim中没有使用过该键。
    很多地方的Home键功能都被我用`<C-a>`来替代了。

    我的配置中有这个配置:
    ```
        " remap vim 0
        nnoremap 0 ^
        nnoremap ^ 0
    ```
    交换了这两个键的行为。
    相比之下还是0按的方便。

    # 查看光标下字符的内码
    学习了。

    作者回复: 最不可或缺的插件,你都会了,所以就得翻翻箱底啦。

    Auto-pairs 我碰到的问题和你一样。也是 Vim 挑注释符号实在有点诡异啊。除了 Vim 脚本,基本上没遇到过奇怪问题。

    2020-09-07
    2
  • 湟水鱼儿
    没想到vim里还有搭车客中的彩蛋
    2020-09-08
收起评论
2
返回
顶部