仅针对vim中的文件类型突出显示“正常”

时间:2014-09-10 14:01:28

标签: vim highlight file-type

所以,我很高兴我在vim中打开特定文件时发现了如何设置突出显示。我正在为JavaScript文件执行此操作,因此大多数都是'hi jsStringD'和'hi jsFunction'等。 我用它来触发它:

if has("autocmd")
  augroup JavaScript
    au!
    au BufReadPost *.js call SetUpJavaScript()
  augroup END
...

我还想更改“普通”或前景文本的颜色,但仅限于JavaScript文件。

这适用于设置颜色:

execute 'hi Normal ctermfg=' normalText

但是如何将其仅限于某种文件类型?这会导致所有文件的“正常”突出显示为该颜色。

编辑:为了澄清,我打开一个JavaScript文件,它的工作原理。我打开另一个文件(例如.jade文件),'Normal'颜色仍然是'normalText'值。

1 个答案:

答案 0 :(得分:1)

使用仅针对javascript文件类型

触发的autocmd
autocmd FileType javascript execute 'hi Normal ctermfg=' normalText

但是我认为如果你在一个会话中切换多个文件会有问题,因为突出显示是全局的。

要解决此问题,您可以添加另一个FileType autocmd,它在BufEnter(或类似的东西)上触发,设置默认的Normal突出显示。


这样的东西会起作用(虽然当你改变焦点时会改变分裂中的高亮显示)

autocmd BufEnter * if (&filetype ==# 'javascript') | execute 'hi Search ctermfg=' . normalText | else | execute 'hi Search ctermfg=' . defualtText | endif