启动gVim,不要加载任何文件。
我用hi 命令,看到语法高亮项,其中有
ErrorMsg xxx term=standout ctermfg=15 ctermbg=4 guifg=White guibg=Red
以下是启动时加载的script 文件:
$ cat 1.txt
D:\Program\Vim\_vimrc
D:\Program\Vim\vim72\vimrc_example.vim
D:\Program\Vim\vim72\syntax\syntax.vim
D:\Program\Vim\vim72\syntax\synload.vim
D:\Program\Vim\vim72\syntax\syncolor.vim
D:\Program\Vim\vim72\filetype.vim
D:\Program\Vim\vim72\menu.vim
D:\Program\Vim\vim72\lang\menu_zh_cn.cp936.vim
D:\Program\Vim\vim72\lang\menu_chinese_gb.936.vim
D:\Program\Vim\vim72\autoload\paste.vim
D:\Program\Vim\vim72\ftplugin.vim
D:\Program\Vim\vim72\indent.vim
D:\Program\Vim\vim72\mswin.vim
D:\Program\Vim\vim72\plugin\getscriptPlugin.vim
D:\Program\Vim\vim72\plugin\gzip.vim
D:\Program\Vim\vim72\plugin\matchparen.vim
D:\Program\Vim\vim72\plugin\netrwPlugin.vim
D:\Program\Vim\vim72\plugin\rrhelper.vim
D:\Program\Vim\vim72\plugin\spellfile.vim
D:\Program\Vim\vim72\plugin\tarPlugin.vim
D:\Program\Vim\vim72\plugin\tohtml.vim
D:\Program\Vim\vim72\plugin\vimballPlugin.vim
D:\Program\Vim\vim72\plugin\zipPlugin.vim
但我在这些script 文件中却找不到ErrorMsg 的定义在何处!
$ grep -i ErrorMsg `cat 1.txt`
D:\Program\Vim\vim72\syntax\synload.vim: echohl ErrorMsg
那么,这个ErrorMsg 高亮是在何处定义的,我怎么能找到它呢?
它不大可能是内置的吧 ?
thanks!
语法高亮项的定义在何处?(已解决)
-
- 帖子: 94
- 注册时间: 2009-04-21 9:48
语法高亮项的定义在何处?(已解决)
上次由 hjjdebug 在 2009-06-28 20:24,总共编辑 1 次。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 语法高亮项的定义在何处?
在配色方案里。
你得知道你使用的配色方案的名称,然后在colors下面找到以那个名称为名的文件。
或者你可以到colors目录下全文搜索你要找的那行字(记得把空格换成\s*)。
你得知道你使用的配色方案的名称,然后在colors下面找到以那个名称为名的文件。
或者你可以到colors目录下全文搜索你要找的那行字(记得把空格换成\s*)。
-
- 帖子: 94
- 注册时间: 2009-04-21 9:48
Re: 语法高亮项的定义在何处?
我没有使用任何配色方案。
我想没有启用任何配色方案,就是default 的配色方案。default 的配色方案就是内置的配色方案。
因为打开default.vim, 看到它就是syntax reset.
所以说,这个ErrorMsg 高亮项,是个内置的项。
当然,如果你启用配色方案,这个ErrorMsg 项是可以重新设置的。
测试了一下,似乎这个理解应该是对的吧!
我想没有启用任何配色方案,就是default 的配色方案。default 的配色方案就是内置的配色方案。
因为打开default.vim, 看到它就是syntax reset.
所以说,这个ErrorMsg 高亮项,是个内置的项。
当然,如果你启用配色方案,这个ErrorMsg 项是可以重新设置的。
测试了一下,似乎这个理解应该是对的吧!
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 语法高亮项的定义在何处?
应该是这样。想想,当什么配置文件都没有时,Vim也得用某种颜色去显示文字吧。
-
- 帖子: 100
- 注册时间: 2008-09-19 1:03
Re: 语法高亮项的定义在何处?(已解决)
你可以下载Vim的源代码。其中默认的highlight设置就硬编码进Vim了。你可以在syntax.c的后半部分看到这些内容。
-
- 帖子: 94
- 注册时间: 2009-04-21 9:48
Re: 语法高亮项的定义在何处?(已解决)
starwing 已经研究到代码里去了,自然铁证如山了。