Nessuna evidenziazione della sintassi in tmux


16

Ho installato tmuxin iTerm 2. (Build 3.0.13) Quando eseguo vimin tmux, l'evidenziazione della sintassi è simile a questa.

nessuna evidenziazione della sintassi

Ma al di fuori di tmux, l'evidenziazione della sintassi sembra a posto.

evidenziazione della sintassi ordinaria

Il mio $TERMtmux dentro e fuori è xterm-256color. Ho anche aggiunto

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

in .tmux.confe ha aggiunto questo

set t_Co=256
set t_AB=m
set t_AF=m
if &term =~ '256color'
    set t_ut=
endif

in .vimrc.

Ho anche provato a tmux -2comandare e leggere queste domande.

perde il colorimme di vim in modalità tmux

Colori errati con vim in iTerm2 usando Solarized

È questo un problema di tmux, vimo la mia configurazione?

MODIFICARE:

My .vimrcin GitHub Gist

https://gist.github.com/sohnryang/3c63397f332f2e30c7d7b2a83c3c9f52


Che cosa accadrà quando si avvia il tmux con -2l'opzione: tmux -2. Preferibilmente quando non ci sono sessioni in tmux.
Grodzik,

Ho usato tmux -2, ma il problema è lo stesso.
sohnryang,

Potresti condividere tutto .vimrc?
Grodzik,

1
@sohnryang quale parte di "forse non dovresti" non capisci?
Muru,

1
Prova a seguire questi passaggi . Hai un sacco di plugin quindi forse uno di questi sta interferendo.
Martin Tournoij,

Risposte:


8

Bene, ho risolto il problema da solo.

come ha commentato @ Carpetsmoker ♦, ho iniziato a sospettare che il mio .vimrcsia un problema. Ho letto questa domanda e ho iniziato vim con questo comando all'interno di tmux.

vim -u NONE -U NONE -N ~/.vimrc

Dopo aver avviato vim con il comando sopra, ho eseguito questo comando all'interno di vim.

:syn on
:colorscheme solarized8_dark

Questi hanno evidenziato il mio .vimrcfile. Quindi, ho iniziato a eseguire il debug del mio .vimrc.

Per farla breve, set termguicolorsera il problema. Se avessi eseguito vim con set termguicolorscommenti .vimrc, avrei potuto vedere l'evidenziazione della sintassi corretta in tmux.


Ho avuto lo stesso problema. sarebbe comunque fantastico termguicolorslavorare su tmux
Filype,

4

Dal manuale di vim: :h termguicolorsraccomanda di leggere:h xterm-true-color

Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
and |t_8b| options explicitly.  [ ... these are]  only set [to some default] when `$TERM` is `xterm`.

Uso una condizione simile alla seguente:

if &term =~# '256color' && ( &term =~# '^screen'  || &term =~# '^tmux' )
    let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
    let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
    set termguicolors
endif

3

In realtà l'ho fatto funzionare bene termguicolors. Questo è quello che ho fatto 1. nel mio ~ / .bash_profile ho messo questo:

export TERM=xterm-256color

e nel mio ~ / .vimrc avevo questo

syntax enable
colorscheme Spacegray

set termguicolors

e ha funzionato perfettamente! riferimento


: syn on: colorscheme Spacegray: set termguicolors
circa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.