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:
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"