如何修改 ~/.vimrc
文件,以使代码中的注释变成斜体字?
在我的~/.vimrc
文件中,我已经添加了以下内容:
highlight Comment ctermfg=blue
那会使评论变为蓝色。我需要做什么不同的事情来使它们变成斜体?
首先,您应该检查终端是否能够显示斜体文本。在您的终端中键入以下命令(-e
标志确保转义代码被解释)
首要的是,您应该检查终端是否能够显示斜体文本。在您的终端中键入以下命令(-e
标志确保转义代码被解释)
echo -e "\e[3m foo \e[23m"
如果看到foo
,那么就可以了,否则需要更换终端(Gnome终端和Konsole是不错的选择)。~/.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
文件中,但是它应该在颜色方案文件加载后加载,这样颜色方案文件就不会覆盖你的自定义设置。如果你没有使用颜色方案文件(而且听起来你没有),不用担心。 - michaelmichaelgui=italic
解决了我的问题,尽管我在终端中运行nvim。 - Git.Coach在我的情况下,我必须将以下内容放入我的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
前者对我有用,而后者没有。
C-v Esc
而不是键入^
[
来执行^ [
。 - Mark K Cowan对于像gvim这样的GUI环境,一个简单的
highlight Comment gui=italic
它是否做到了。
michaelmichael的回答应该能解决大多数情况。但是,万一您需要针对在gvim中没有斜体(而是倾斜或其他)的字体进行操作,可以尝试像下面这样在~/.gvimrc中设置:
highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14
其中h14是字体大小。这种字体应该与您的普通字体具有相同的单元格大小,因此不要使用完全不同的字体。
.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
这是在遵循this Gist中的说明并将这两行添加到我的.vimrc
之后,使用Ctrl-vEsc输入^[
:
set t_ZH=^[[3m
set t_ZR=^[[23m
(感谢Gabriele Lana提供的提示,让我将这些行添加到我的.vimrc
文件中。)
echo -e
启用反斜杠转义的解释吗? - Benjamin W.echo -e "\e[3m foo \e[23m"
。 - Benjamin W.