macos vim tmux iterm

macos - perder vim colorscheme en modo tmux



iterm (16)

Estoy ejecutando iterm2 y cuando estoy en modo tmux, el esquema de colores que he establecido en vim no aparece. Sólo el esquema de color que he establecido en iterm. Si ejecuto vim desde shell, el esquema de colores parece correcto, solo cuando estoy en modo tmux.

He intentado configurar :colorscheme molokai cuando está en vim (vea la captura de pantalla a continuación) y no cambia. De nuevo, el esquema de color predeterminado para iterm2 permanece.

¿Me estoy perdiendo algún ajuste para iterm o tmux.conf? Mis dotfles están arriba en github aquí.


Acabo de descubrir por qué estaba teniendo mucha confusión. Yo, al igual que otros aquí, estaba teniendo dificultades para que la configuración de terminal predeterminada entrara en vigencia. Me recordé que tenía una sesión tmux en el fondo. Volví a adjuntar mi sesión, cerré mis procesos y cerré TODOS los procesos tmux. La próxima vez que reinicié tmux, la configuración predeterminada de terminal en .tmux.conf comenzó a tener efecto. No sé si otros también lo están haciendo, pero recomiendo cerrar todos los procesos tmux antes de modificar el archivo .tmux.conf .

Conseguí que mi configuración funcionara en mi máquina local (OSX 10.9.5 con iTerm2) sin ninguna modificación a .bashrc o .bash_profile . Todo lo que hice fue agregar el set -g default-terminal "xterm-256color" líneas set -g default-terminal "xterm-256color" a ~/.tmux.conf y reiniciar todos los procesos tmux.

Conseguí que mi configuración remota (ssh a Ubuntu 14.04) funcionara exactamente de la misma manera sin ninguna modificación en .bashrc . Simplemente agregué set -g default-terminal "xterm-256color" a ~/.tmux.conf en mi máquina remota y reinicié todos los procesos tmux remotos.

Puede probar lo que está viendo Vim haciendo echo $TERM desde dentro de una sesión de tmux. Se mantuvo diciendo la screen como el valor hasta que reinicié todos los procesos tmux, momento en el que reflejó xterm-256color como se esperaba.

Espero que ayude.


Agregar la siguiente línea en .tmux.conf funcionó para mí con macOS Sierra 10.12.6,

set -g default-terminal "screen-256color"


Así que esto es un poco anticuado, pero vale la pena mencionar que el uso de la pantalla a menudo romperá las teclas Inicio y Fin. Utilizando

export TERM="xterm-256color"

debe mantener la funcionalidad de estos y permitir que el esquema de color (o línea de alimentación) funcione bien.


Como @romainl menciona anteriormente, tuve que forzar a tmux a usar 256 colores agregando la -2 :

$ tmux -2

alias tmux=''tmux -2'' a mi bash_profile, así que, no lo olvido :)


Dado que este es el primer resultado en Google y que nada de lo anterior ayudó ... deseamos publicar esto para que alguien pueda encontrarlo útil

en .vimrc :

set background=dark set t_Co=256

HTH


Desde la página del tmux, la adición de la bandera de la siguiente manera:

tmux -2

Este indicador -2 obliga a tmux a ejecutarse en modo de 256 colores.

Esto funciona para mi


En caso de que alguien necesite soporte de color de 24 bits:

Tmux admite color de 24 bits a partir de la versión 2.2. Si su terminal admite color de 24 bits, agregue su terminal a la configuración de anulaciones de terminal. Por ejemplo,

set -ga terminal-overrides ",xterm-256color:Tc"

Lista de verificación de mi entorno:

  • macOS Sierra 10.12.3
  • iTerm2 3.0.14 (el tipo de terminal del informe es xterm-256color )
  • neovim 0.1.7 (Habilite el color de 24 bits agregando: xterm-256color a .vimrc )
  • tmux 2.3 (Agregar set -ga terminal-overrides ",xterm-256color:Tc" a .tmux.conf )

Nada más necesito agregar en .bashrc o .zshrc .

Espero que esto pueda ayudar.


He intentado todas las instrucciones anteriores y descubrí que lo más importante es que debo agregar explícitamente la siguiente línea en mi archivo .bashrc.

export TERM=screen-256color

No sé por qué el alias tmux = "TERM = screen-256color-bce tmux" no funciona. Yo uso Sierra 10.12.1.


Necesitaba que vim se mostrara correctamente con tmux en terminal en ubuntu y cygwin / mintty en windows. Lo hice trabajar combinando las respuestas de esta manera.

En .bashrc:

alias tmux="tmux -2"

En .vimrc:

" use 256 colors in terminal if !has("gui_running") set t_Co=256 set term=screen-256color endif " fix cursor display in cygwin if has("win32unix") let &t_ti.="/e[1 q" let &t_SI.="/e[5 q" let &t_EI.="/e[1 q" let &t_te.="/e[0 q" endif

basado en las respuestas de esta pregunta, esta página Vim wiki y esta pregunta del cursor de bloque


No tuve mucha suerte al intentar exportar un TERM diferente o configurar el terminal predeterminado en mi .tmux.conf .

Mi solución para arreglar colores vim dentro de tmux fue agregar esta línea a .tmux.conf :

set -g terminal-overrides ''xterm:colors=88''

No estoy seguro de por qué se necesitaba esta anulación, dado que mi TERM=xterm y yo también tenemos iTerm configurado en xterm, pero parece que funciona.


Para configurar el color correcto y deshacerse del problema de representación tanto en Ubuntu como en Mac:

Mira esto


Si te encuentras en la misma situación que yo, ninguno de los anteriores funcionó ... prueba esto:

en .tmux.conf :

set -g default-terminal "xterm"

en la configuración de bash (tal vez .bashrc o .bash_profile ):

alias tmux="tmux -2"

y luego ejecute:

killall tmux

y luego relanzar tmux


Si usa tmuxinator o mux , deberá agregarlos en .bashrc o .zshrc :

alias tmux=''TERM=screen-256color tmux -2'' alias tmuxinator=''TERM=screen-256color tmuxinator'' alias mux=''TERM=screen-256color mux''

Estas fuerzas para usar 256 colores en el terminal.

Entonces los tmuxinator tmux , tmuxinator y mux funcionarán.


Solo tuve que lidiar con este problema, y ​​aunque todas las respuestas publicadas anteriormente fueron útiles, no resolvieron el problema en mi caso.

Mi problema se solucionó eliminando la siguiente línea en mi .vimrc :

set termguicolors

que era redundante con otra instrucción de todos modos.

Ahora, con la siguiente línea encontrada en las respuestas anteriores en mi .tmux.conf :

export TERM="screen-256color"

Todo es bonito y colorido.


Yo tuve el mismo problema. La única diferencia era que estoy usando solarize en lugar de molokai .

Para solucionar el problema, he configurado un alias en ~/.bashrc :

alias tmux="TERM=screen-256color-bce tmux"

Y configure la opción default-terminal en ~/.tmux.conf :

set -g default-terminal "xterm"

Por último, haga $ source ~/.bashrc para cargar un nuevo alias.


.tmux.conf todas las soluciones anteriores y lo que finalmente me funcionó fue poner las siguientes líneas en .tmux.conf :

set -g default-terminal "xterm-256color"