c - 如何在 Vim 中高亮显示 printf、scanf?

标签 c vim macvim c11

我用 Homebrew 安装了 macvim; OS X 版本 10.11.6; macvim 版本:

macvim: stable 8.0-119 (bottled), HEAD

但在编辑“my file.c”时,默认情况下它不会为printfscanf着色。

我搜索了如何通过创建 ~/.vim/after/c.vim 添加它们。 (我想到的另一种方法是直接编辑默认的 c.vim 文件,但我不知道它们在哪里)。

在我的 ~/.vim/after/c.vim 我写道:

syn keyword printf scarf

它没有工作...(如果我知道默认的 c.vim 文件在哪里,我可以引用它,也许我的问题可以解决。)

顺便说一句,我下载c.vim from vim.org , 但我发现最后编辑日期是在 2010 年,如果我想要 C11 标准版本,我在哪里可以得到一个,如果重要的话(?)。

最好不要像 c.vim 那样更改默认的语法高亮文件,而是通过 ~/.vim/after/~/添加我自己的。 vim/语法/?

最佳答案

创建 ~/.vim/after/syntax/c.vim 文件(按照 official documentation 中的建议),内容如下:

syn keyword cFunctions printf scanf
hi link cFunctions Function

据我所知,默认语法规则不会突出显示函数,即使来自标准库也是如此。所以你需要自己添加它们。


syn 命令将 printfscanf 添加到 cFunctions 高亮组。

hi 命令将cFunctions 组链接到Function 高亮组,该组通常由colorscheme 定义。如果Function组没有定义,你可以自己定义,例如

hi Function term=underline cterm=bold ctermfg=LightGray

Is it a good practice that not to change the default syntax-highlight-file like c.vim, and add my own by ~/.vim/after/ or ~/.vim/syntax/?

当然可以。语法文件通常作为包分发。例如,在我的 Gentoo Linux 上,/usr/share/vim/vim80/syntax/c.vimapp-editors/vim-core 包一起提供。本地对语法文件的修改将在下次升级包时被覆盖。

关于c - 如何在 Vim 中高亮显示 printf、scanf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205416/

相关文章:

c - 应用程序未收到 iptable 修改的 Netlink 通知

Vim:为什么在粘贴模式下不显示光标位置?

linux - 如何在 linux shell 中编辑巨大的 txt 文件的头部?

vim - 如何让特定的文件扩展名表现得像 .vimrc 文件中的 .html?

c - C/C++之前的语言有指针吗?

c - 小端环境下 C 语言的 SHA-1

将 char 数组转换为字符串 [和 Pebble]

vim - 让 vim 选项卡标题为当前目录名称

vim - 提高 Vim 的滚动速度

vim - 显示 Vim 变量