44

如何更改~/.vimrc代码中的注释以斜体显示?

在我的~/.vimrc文件中,我有:

highlight Comment ctermfg=blue

这使评论变蓝。我需要做些什么不同的事情才能使它们变成斜体?

4

7 回答 7

51

首先,您应该检查您的终端是否能够以斜体显示文本。在您的终端类型中(-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

加载任何配色方案后。

于 2014-01-12T16:48:35.677 回答
45
highlight Comment cterm=italic gui=italic

您需要一个带有斜体集的字体和一个能够显示斜体的终端。此外,如果您使用的配色方案不是默认的,则上面的行应该在您的配色方案加载之后出现,~/.vimrc这样配色方案就不会覆盖它。

cterm使它在终端中工作,并且gui适用于图形 Vim 客户端。

于 2010-08-16T16:00:02.587 回答
25

在我的情况下,我不得不把它放在我的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

前者为我工作,而后者没有。

于 2015-06-19T12:12:30.917 回答
8

对于像 gvim 这样的 GUI 环境,一个简单的

highlight Comment gui=italic

可以。

于 2014-09-03T08:47:50.753 回答
3

michaelmichael 的回答应该可以解决大多数情况。但是,以防万一您需要在 gvim 中使用没有斜体的字体(而是斜体或其他字体),您可以在 ~/.gvimrc 中尝试类似的操作

highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14

其中 h14 是字体大小。不过,此字体应该与您的普通字体具有相同的单元格大小,因此不要使用完全不同的字体。

于 2010-08-18T21:21:56.840 回答
0

如果所有答案都不起作用,请移动

highlight Comment cterm=italic

到你的 .vimrc结尾。它可能会被您的主题设置之一覆盖

于 2021-11-21T03:37:02.783 回答
0

因为我使用的是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.)

于 2021-05-12T14:47:55.787 回答