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

拓展 2|C 程序员的 Vim 工作环境:C 代码的搜索、提示和自动完成

吴咏炜 2020-08-24
你好,我是吴咏炜。
从今天开始,我们会用连续 3 讲,深入讨论怎么为编程定制环境。如果你是 C 程序员,那么今天这一讲对你来说毫无疑问是必修课。如果你用的是类 C 语言,也能从这一讲中学到很多有用的内容,尤其是在语法加亮精调、tags 和 Clang-Format 部分。

语法加亮精调

第 4 讲中我们已经学到了,Vim 能根据文件类型对代码进行加亮。在第 12 讲里,我们还进一步讨论了 Vim 实现语法加亮的细节,知道这些是如何通过代码来进行控制的。对于 C(含其他基于 C 的语言如 C++),语法加亮文件有一些精调选项,还挺有意思,能应对一些特殊场景的需求。我一般会设置以下几项:
let g:c_space_errors = 1
let g:c_gnu = 1
let g:c_no_cformat = 1
let g:c_no_curly_error = 1
if exists('g:c_comment_strings')
unlet g:c_comment_strings
endif
第一项 c_space_errors 用来标记空格错误,包括了 tab 字符前的空格和行尾空格,这样设置之后 Vim 会把这样的空格加亮出来。
第二项 c_gnu 激活 GNU 扩展,这在 Unix 下一般是必要的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Vim 实用技巧必知必会》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥19.9
立即订阅
登录 后留言

精选留言(3)

  • Albert
    老师,您好。想买一本关于vim的书。看了一下有精通vim、vim8文本处理实战、vim实用技巧 2版。能推荐一下选哪本吗?或者有其他推荐吗?

    作者回复: 学完这个专栏,我觉得进一步学习主要是拓展技巧,知识体系根据实际的需要查手册就可以。从这个角度,我会推荐《Vim实用技巧》。

    当然,每本书都有点独到之处的。三择一的话是这本,有余力的话,其他的也可以看看。

    2020-08-24
  • qinsi
    查了下Vim8的话应该可以通过LSP实现跳转自动完成和格式化等功能 https://microsoft.github.io/language-server-protocol/implementors/tools/

    作者回复: 下一讲的工具内部就会用到的。

    2020-08-24
  • 我来也
    如果能早几年看到这系列文章,我正式切换到vim开发的时间也许会提前几年了.

    我的vim定制始于这篇文章
    [手把手教你把Vim改装成一个IDE编程环境(图文)](https://blog.csdn.net/wooin/article/details/1858917)

    虽然这篇文章写于2007年,但我看到时应该也是12年了.
    当时即使是照着文章把插件都装好了,也花了不少功夫.
    搞完后,我对vim真是有了新的认识.原来还可以这么用.

    当时有些配置我并没有调通.
    不知是自己配置错误,还是文章中插件的配置发生了变化.
    但周边也没有可以交流的人.
    导致真正完全用vim做开发并不是很顺手.

    我就用vim做c代码的查看器,用它去跳转,搜索,对比,
    偶尔用它完成小的bug修复.

    作者回复: 有Vim的中文和英文邮件列表的。不过现在都不活跃了。尤其中文的。

    2020-08-24
收起评论
3
返回
顶部