VIM编辑器6.3在AIX 5.3上的语法颜色显示不如预期

4

我通过输入命令:syntax on为我的C文件启用了语法高亮。我期望它会改变关键字等的颜色。但是令我惊讶的是,语法高亮确实发生了,但所有的关键字都被下划线而不是被着色!

我是否遗漏了什么?

3个回答

4
似乎问题并不在于 vim 本身,而是在于我使用的终端。根据 VIM文档,我使用的终端 vt100xterm 不支持颜色!因此,在 vim 中也没有颜色!但令我惊讶的是,在另一台服务器上,xterm 竟然支持8种颜色。我通过运行 /usr/bin/tput colors 发现了这一点,其中在没有颜色的服务器上输出为 -1 ,而在支持颜色的服务器上输出为 8。感谢 @Idigas 提供的适当指引!

刚看到你的最后一条回复 - 虽然有点晚。但很高兴听到你已经解决了这个问题。 - Rook

1

尝试添加

set term=ansi

如果您希望在vim会话期间覆盖term设置,可以将内容添加到您的~/.vimrc文件中。


1
你刚刚修复了我的世界 :) - Jeremy West

1

可能不是这样的。如果syntax on改变了您的缓冲区外观,使其与您预期的不同,您可能需要检查您的颜色主题的内容。

尝试:echo g:colors_name查看它是哪一个,然后编辑上述文件。

此外,使用:hi Normal:hi Comment等命令来查看它们的外观如何。


@Idigas,当我尝试使用:echo g:colors_name时,它显示未定义变量g:colors_name。我进行了一些谷歌搜索,在这里找到了一些颜色方案-http://vimcolorschemetest.googlecode.com/svn/html/index-c.html。我选择了其中一个(dante),将其放置在`~/.vim/colors`中作为`dante.vim`,并在我的`.vimrc`中添加了`colorscheme dante。现在,:echo g:colors_name显示为dante`,但仍然没有效果。我想知道我的终端是否首先支持颜色? - Pavan Manjunath
@Idigas,我发现另一件有趣的事情是,在我的颜色方案“dante.vim”中,“hi Comment”对应于“term=bold ctermfg=darkcyan guifg=cyan4”,但当我在vim的命令模式下输入“:hi Comment”时,它显示为“Comment xxx term=bold ctermfg=3”。这是因为缺少“guifg”吗? - Pavan Manjunath
@PavanManjunath - 大多数颜色方案使用g:colors_name作为它们的标识符。你用的终端是什么?当你写“:hi Normal ctermbg=15”时,有什么反应吗? - Rook
@PavanManjunath - 不,guifg 只在运行 GUI Vim (GVim) 时才相关。你应该寻找那些具有 "ctermbg/fg" 和 "termfg/bg" 值的配色方案。GUI 和控制台 (term) 版本的配色方案有时完全不同,因为 term 不能支持(通常不支持)与 GUI 相同数量的颜色。 - Rook
@Idigas,我正在使用vt100终端。当我输入“:hi Normal ctermbg = 15”时,颜色似乎没有变化!另外,我偶尔会遇到一个新的奇怪问题,当我输入“:syntax on”时,会出现像“^[[35m”这样的奇怪字符!甚至下划线也不会出现! - Pavan Manjunath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接