Mientras uso vim dentro de tmux, puedo ver que el soporte de 256 colores está habilitado. con colores $ tput
Sin embargo, cambiar el esquema de colores en vim mientras está en tmux cambiará el esquema de colores por línea, pero no todo el fondo. ver captura de pantalla
Aquí hay un fragmento del archivo my .vimrc, por ejemplo. Mi esquema de colores original está oscuro solarizado y luego, después de ejecutarlo: el esquema de colores molokai ya ves lo que sucede.
informacion
- terminal de gnomo
- golpetazo
en mi ~ / .tmux.conf
set -g default-terminal "screen-256color"
en mi ~ / .vimrc
set t_Co=256
en mi ~ / .bashrc
# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"
en mi perfil ~ /.
# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
¿Alguna idea de cómo puedo obtener un cambio completo del esquema de colores en vim? ¿Todos mis fragmentos de los archivos se ven bien?
Respuestas:
Desde el aspecto de su .bashrc y .profile, los shells dentro de tmux están anulando la configuración de 'terminal predeterminado' en su tmux conf. Algo como esto:
TERM=screen-256color
TERM=xterm-256color
puedes verificar esto ejecutando
en una cáscara fresca de tmux.
Tmux es relativamente exigente acerca de tener un terminal configurado correctamente. Si puede, establezca el valor del término en la configuración de gnome-terminal, no en su .bashrc. De lo contrario, rodee esos ajustes con una marca de "pantalla" o "screen-256color" TERM, y no los restablezca en ese caso.
Tmux REALMENTE quiere que el terminal esté configurado en
screen
oscreen-256color
fuente
set -g default-terminal "screen-256color"
línea en su tmux conf.if [[ $TERM == xterm ]]; then TERM=xterm-256color; fi
, funcionó para mí.Como se explica aquí , deshabilite el Borrado de color de fondo (BCE) borrando la
t_ut
opción del terminal (ejecute:set t_ut=
en Vim y luego presione Control+ Lpara actualizar la pantalla del terminal) para que los esquemas de color funcionen correctamente cuando Vim se usa dentro de la pantalla tmux y GNU.fuente
set t_ut=
a mi vimrc, lo que elimina la necesidad de usar el comando manualmente y no hay necesidad de usar <kbd> Control </kbd> + <kbd> L </kbd> ya que la sesión comienza con BCE deshabilitado.He encontrado una mejor manera en esta publicación . Puede crear un alias de tmux para
tmux -2
forzar a tmux a suponer que el shell está utilizando un terminal de 256 colores.fuente
Esto es lo que funcionó para mí en #Ubuntu y #Mac:
Recargar configuración:
Configure .bashrc para Mac (como lo usa tmux)
Configure la opción "terminal predeterminado" en ~ / .tmux.conf.
fuente
Una solución rápida es ejecutar lo siguiente en la terminal.
export TERM=xterm-color
Puede agregarlo a su
~/.bash_profile
u otro perfil para que siempre se configure al inicio.fuente
.zshrc
para que el modo visual fuera realmente visible.Tuve un problema muy similar para gnome-terminal + tmux + vim pero también se extendió al problema específico de combinación de teclas:. Tuve que combinar algunas cosas juntas. antes que nada tuve que configurar mi .tmux.conf en:
Luego en .vimrc:
Y eso hizo el trabajo para las llaves y el fondo.
fuente
Si aún enfrenta problemas: noté que vim recurre al uso de la opción
t_Co=8
dentro de tmux incluso si$TERM
está configurado comoscreen-256color
. Mi solución es este fragmento en vimrc:La
$TMUX
variable solo se llena si está dentro de una sesión tmux. En este caso, permito que vim use 256 colores. Tenga en cuenta que también desactivé termguicolors ya que tmux no admite colores verdaderos.fuente
Justo ahora enfrentaba el mismo problema. Basado en la respuesta de bloy y el contenido actual de mi ~ / .profile (en realidad, es lo mismo que winchendonsprings ') he resuelto mi problema de la siguiente manera:
~/.profile
:La lógica es simple: si no estamos dentro de la sesión tmux, entonces use xterm (coloreado o no). De lo contrario, lo mismo para la pantalla.
Tal vez es demasiado detallado, pero tienes la idea.
fuente