如何更改~/.vimrc
代码中的注释以斜体显示?
在我的~/.vimrc
文件中,我有:
highlight Comment ctermfg=blue
这使评论变蓝。我需要做些什么不同的事情才能使它们变成斜体?
首先,您应该检查您的终端是否能够以斜体显示文本。在您的终端类型中(-e
标志确保转义码被解释)
echo -e "\e[3m foo \e[23m"
如果你看到foo
了那好吧,否则你需要改变终端(Gnome Terminal 和 Konsole 是不错的选择)。
然后你应该帮助 Vim 识别你正在使用的终端类型,输入你~/.bashrc
:
export TERM="xterm-256color"
现在你可以试试看是否够用,打开一个新文件vim foo.html
,内容如下
<i>foo</i>
你看foo
斜体字吗?如果不是,那么你需要更进一步,现在 Vim 不知道转义码来切换到斜体模式,你需要告诉它(这是最难的部分,我花了几年时间才弄清楚) .
将以下两行放入您的~/.vimrc
set t_ZH=^[[3m
set t_ZR=^[[23m
这些是我们之前在终端中使用的相同转义码,请注意^[
不是文字字符而是表示转义字符,您可以在插入模式下将其插入CTRL-V后跟ESC(参见:help i_CTRL-V
)
现在重新打开我们之前创建的文件foo.html
,您应该会看到foo
斜体;如果你不这样做,那我就不能再帮你了。否则你几乎完成了;最后一步。
放入你的~/.vimrc
文件
highlight Comment cterm=italic
加载任何配色方案后。
highlight Comment cterm=italic gui=italic
您需要一个带有斜体集的字体和一个能够显示斜体的终端。此外,如果您使用的配色方案不是默认的,则上面的行应该在您的配色方案加载之后出现,~/.vimrc
这样配色方案就不会覆盖它。
这cterm
使它在终端中工作,并且gui
适用于图形 Vim 客户端。
在我的情况下,我不得不把它放在我的vimrc
文件中:
let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
highlight Comment cterm=italic
请注意,它与以下内容不同:
set t_ZH=^[[3m
set t_ZR=^[[23m
highlight Comment cterm=italic
前者为我工作,而后者没有。
对于像 gvim 这样的 GUI 环境,一个简单的
highlight Comment gui=italic
可以。
michaelmichael 的回答应该可以解决大多数情况。但是,以防万一您需要在 gvim 中使用没有斜体的字体(而是斜体或其他字体),您可以在 ~/.gvimrc 中尝试类似的操作
highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14
其中 h14 是字体大小。不过,此字体应该与您的普通字体具有相同的单元格大小,因此不要使用完全不同的字体。
如果所有答案都不起作用,请移动
highlight Comment cterm=italic
到你的 .vimrc结尾。它可能会被您的主题设置之一覆盖
因为我使用的是Solarized colorscheme,所以我必须按照 Solarized #120.vim/colors/solarized.vim
中的建议进行编辑,以将第 137-157 行替换为以下内容:
if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
let s:terminal_italic=1
else
let s:terminal_italic=0
endif
另外,请按照此 Gist中的说明并将这两行添加到 my.vimrc
中,使用Ctrl-vEsc输入^[
:
set t_ZH=^[[3m
set t_ZR=^[[23m
(感谢 Gabriele Lana 提示将这些行添加到我的.vimrc
.)