El amado esquema de color solarizado parece aplicar una letra en cursiva para los comentarios, pero cuando lo uso vim
en iTerm2, no es así.
Por lo tanto, todo, incluidos los comentarios, se muestra en formato romano (normal). Incluso si selecciono la fuente Menlo, que tiene una letra en cursiva que puedo ver en la ventana de preferencias de iTerm2, los comentarios se representan como romanos.
Junto con el hecho de que los comentarios están en gris claro y el texto normal en blanco (no muy brillante), los comentarios se vuelven bastante difíciles de distinguir del texto normal.
Para mí, esto es una falla en el esquema de color, que de otro modo sería excelente. Investigué un poco, pero el consejo es antiguo y no resuelve el problema. Estoy usando OS X 10.6 Sierra en una MacBook Air.
Tienes que actualizar tu TERMINFO
archivo.
Gracias al video de wincent y sus páginas de github
Mira el video y mira sus páginas de github, son excelentes.
Tengo la siguiente nota almacenada en mi HD:
Podemos tener cursiva en la terminal.
Esto funciona tanto en iTerm como en Terminal.
Tenemos que adaptar la base de datos terminfo para que muestre cursiva.
Cree un archivo de texto sin formato que contenga lo siguiente:
xterm-256color|xterm with 256 colors and italic,
sitm=\E[3m, ritm=\E[23m,
use=xterm-256color,
guardarlo comoxterm-256color.terminfo.txt
Luego ejecuta el siguiente comando:
tic -o ~/.terminfo xterm-256color.terminfo.txt
Esto creará un ~/.terminfo/some_arbitrary_number/
directorio, y dentro de ese directorio hay un xterm-256color
archivo.
Lo que hace de acuerdo con la página de manual:
The command tic translates a terminfo file from source format into com-
piled format. The compiled format is necessary for use with the
library routines in ncurses(3X).
The results are normally placed in the system terminfo directory
/usr/share/terminfo. There are two ways to change this behavior.
First, you may override the system default by setting the variable TER-
MINFO in your shell environment to a valid (existing) directory name.
Secondly, if tic cannot get access to /usr/share/terminfo or your TER-
MINFO directory, it looks for the directory $HOME/.terminfo; if that
directory exists, the entry is placed there.
Libraries that read terminfo entries are expected to check for a TER-
MINFO directory first, look at $HOME/.terminfo if TERMINFO is not set,
and finally look in /usr/share/terminfo.
-o dir Write compiled entries to given directory. Overrides the TER-
MINFO environment variable.
Entonces, con el comando dado, estamos escribiendo una nueva entrada terminfo en el ~/.terminfo
directorio oculto. Toma las capacidades de la entrada xterm-256color existente (de /usr/share/terminfo/
) y le agrega el modo de cursiva.
Para comprobar que el terminal hace lo correcto:
con pescado:
echo (tput sitm)'italics' (tput ritm) (tput smso)'standout'(tput rmso)
con bash o zsh:
echo `tput sitm`italics`tput ritm` `tput smso`standout`tput rmso`
Supongo que en este momento la mayoría de los esquemas de color de la terminal vim no establecen la cursiva como estilo. Para verificar esto, haga:
:hi Comment
si la respuesta contiene cterm=italic
que ya está. Si no, agregue highlight Comment cterm=italic
a su vimrc (a continuación , configure su combinación de colores).
Anexo para tmux
tmux usa sus propios archivos terminfo, también deben actualizarse para usar cursiva.
tmux.terminfo.txt
archivo que contenga tmux|tmux terminal multiplexer, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen,
tmux-256color.terminfo.txt
archivo que contenga tmux-256color|tmux with 256 colors, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen-256color,
y ejecuta el comando tic.
tic -o ~/.terminfo tmux-256color.terminfo.txt
y
tic -o ~/.terminfo tmux.terminfo.txt
Además de actualizar mi TERMINFO
, tuve que hacer otros dos cambios.
Edite .vim/colors/solarized.vim
como se recomienda en Solarized #120 para reemplazar las líneas 137-157 con lo siguiente:
if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
let s:terminal_italic=1
else
let s:terminal_italic=0
endif
Edite .vimrc
para agregar las siguientes líneas usando <Ctrl-v><Esc>
para ingresar los ^[
caracteres.
" Enable italics
set t_ZH=^[[3m
set t_ZR=^[[23m
violapterina
violapterina
mvim -v
), no puede. ¿Es normal?PedroVP
:hi Comment
¿dicecterm=italic
? Si no está solarizado, no establece esto. Puedes hacer esto en tu vimrc conhighlight Comment cterm=italic
violapterina
usuario120098
usuario120098
PedroVP
echo `tput sitm`italics`tput ritm` `tput smso`standout`tput rmso`
y dio el resultado esperado (cursiva y destacado) sin aplicar el parche. Este es un terminal xfce4. La parte del directorio 78 aparece en las 2 Mac que tengo disponibles, no estoy seguro de si esto es solo una cosa de Mac o unix más general. Si observa el video de Wincent,~/.terminfo
hay un directorio donde se almacena la información termográfica parcheada. Presumiblemente al iniciar la terminal se lee este archivo, en lugar del que está en/usr/share/x/terminfo/xterm-256color
PedroVP
jrwren
PedroVP
esquivar