How do I change the ~/.vimrc
to have the comments in my code italicized?
In my ~/.vimrc
file I have:
highlight Comment ctermfg=blue
that makes the comments blue. What do I need to do differently to make them italic?
How do I change the ~/.vimrc
to have the comments in my code italicized?
In my ~/.vimrc
file I have:
highlight Comment ctermfg=blue
that makes the comments blue. What do I need to do differently to make them italic?
highlight Comment cterm=italic gui=italic
You'll need a font with an italic set and a terminal capable of displaying italics. Also, if you're using a color scheme other than the default, the above line should come after the color scheme is loaded in your ~/.vimrc
so that the color scheme doesn't override it.
The cterm
makes it work in the terminal and the gui
is for graphical Vim clients.
~/.vimrc
, but it should come after the color scheme file is loaded, so that the color scheme file doesn't override your customizations. If you're not using a color scheme file (and it sounds like you aren't), don't worry about it. –
Kramer printf %s '\033[3mItalics\n
(tried it with a TrueType font). It appears to be a limitation in vim, or some other configuration issue. –
Stratocumulus gui=italic
solved the problem for me, even though I am running nvim inside a terminal. –
Coaxial First and foremost, you should check if you terminal is capable of displaying text in italics. In your terminal type (-e
flag makes sure escape codes are interpreted)
echo -e "\e[3m foo \e[23m"
If you see foo
then okay, otherwise you need to change terminal (Gnome Terminal and Konsole are good choices).
Then you should help Vim to recognise the kind of terminal you are using, put in you ~/.bashrc
:
export TERM="xterm-256color"
Now you can try and see if this is enough, open a new file vim foo.html
with the following content
<i>foo</i>
Do you see foo
in italic? If no then you need to go a little further, right now Vim doesn't know the escape codes to switch to italic mode, you need to tell it (this is the hardest part, it took me a few years to figure that out).
Put the following two lines in your ~/.vimrc
set t_ZH=^[[3m
set t_ZR=^[[23m
These are the same escape codes we used before in the terminal, be aware that ^[
are not literal characters but represent the escape character, you can insert it in insert mode with CTRL-V followed by ESC (see :help i_CTRL-V
)
Now reopen the file we created before foo.html
and you should see foo
in italic; if you don't then I can't help you any more. Otherwise you are almost done; there is one last step.
Put in you ~/.vimrc
file
highlight Comment cterm=italic
after loading any colorscheme.
echo -e
to enable interpretation of backslash escapes? –
Jaborandi echo -e "\e[3m foo \e[23m"
. –
Jaborandi highlight Comment cterm=italic gui=italic
You'll need a font with an italic set and a terminal capable of displaying italics. Also, if you're using a color scheme other than the default, the above line should come after the color scheme is loaded in your ~/.vimrc
so that the color scheme doesn't override it.
The cterm
makes it work in the terminal and the gui
is for graphical Vim clients.
~/.vimrc
, but it should come after the color scheme file is loaded, so that the color scheme file doesn't override your customizations. If you're not using a color scheme file (and it sounds like you aren't), don't worry about it. –
Kramer printf %s '\033[3mItalics\n
(tried it with a TrueType font). It appears to be a limitation in vim, or some other configuration issue. –
Stratocumulus gui=italic
solved the problem for me, even though I am running nvim inside a terminal. –
Coaxial In my case I had to put this in my vimrc
file:
let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
highlight Comment cterm=italic
Notice it is not the same as:
set t_ZH=^[[3m
set t_ZR=^[[23m
highlight Comment cterm=italic
The former worked for me, while the latter didn't.
^[
by C-v Esc
, not by typing ^
[
–
Societal for GUI environments like gvim, a simple
highlight Comment gui=italic
does it.
michaelmichael's answer should solve it for most cases. But, just in case you need this for a font in gvim that doesn't have italics (but oblique or something instead), you can try something like this in ~/.gvimrc
highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14
where h14 is the font size. This font should have the same cell size as your normal font though, so don't use an altogether different font.
Because I'm using the Solarized colorscheme, I had to edit .vim/colors/solarized.vim
as recommended in Solarized #120 to replace lines 137-157 with the following:
if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
let s:terminal_italic=1
else
let s:terminal_italic=0
endif
That was in addition following the instructions in this Gist and adding these two lines to my .vimrc
, using Ctrl-vEsc to enter ^[
:
set t_ZH=^[[3m
set t_ZR=^[[23m
(Thanks to Gabriele Lana for the tip to add those lines to my .vimrc
.)
© 2022 - 2024 — McMap. All rights reserved.