2016-05-09 74 views
8

Sto eseguendo una macchina virtuale Ubuntu su un host Win10 (via vagabondo) e ho problemi a far funzionare correttamente tmux quando si esegue vim in uno dei suoi riquadri. Da solo, vim visualizza bene; tuttavia, quando all'interno di un riquadro tmux, le interruzioni di linea diventano tutti confusi e lacrime attraverso i confini del riquadro:Visualizzazione delle lacrime vim dei pannelli tmux

enter image description here

sto usando ConEmu nel video; tuttavia, la stessa cosa accade in cmd.exe.

Aggiornamento: i riquadri cambiano temporaneamente il problema, ma alcuni tipi di modifiche lo rendono nuovamente possibile.

+2

Questo è quasi certamente un problema con il 'impostazione TERM', ma è anche più di una domanda per superuser.com che qui. – chepner

risposta

3

È possibile, una volta che Vim è in esecuzione, impostare la larghezza (il numero di colonne):

secondo l'aiuto di vim: le "colonne" o l'impostazione "co" è:

'columns' 'co' number (default 80 or terminal width) 
     global 
     {not in Vi} 
    Number of columns of the screen. Normally this is set by the terminal 
    initialization and does not have to be set by hand. Also see 
    |posix-screen-size|. 
    When Vim is running in the GUI or in a resizable window, setting this 
    option will cause the window size to be changed. When you only want 
    to use the size for the GUI, put the command in your |gvimrc| file. 
    When you set this option and Vim is unable to change the physical 
    number of columns of the display, the display may be messed up. For 
    the GUI it is always possible and Vim limits the number of columns to 
    what fits on the screen. You can use this command to get the widest 
    window possible: 
    :set columns=9999 
    Minimum value is 12, maximum value is 10000. 

È dovrebbe anche controllare se non hai impostato "COLUMNS" nel tuo ambiente (e quindi "ereditato" all'interno di tmux), e in tal caso vim potrebbe basarsi sul suo valore invece di interrogare il terminale? (qui è un esempio di discussione su questo tipo di problema, ma per un altro ambiente (debian linux, invece di windows tmux per te): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=605279: mostra che non è necessario esportare COLONNE prima di avviare tmux, se possibile)

si dovrebbe anche essere in grado di lanciare vim mentre specificando il valore COLONNE solo per la durata della sua invocazione, con:

COLUMNS=40 vim 

ad esempio

+0

Non sono sicuro che il problema riguardi la comprensione di vim del numero di colonne. Avrei dovuto specificare: la modifica dei riquadri risolve il problema temporaneamente, ma alcuni tipi di modifiche lo rendono nuovamente possibile. – FMM

+0

@FMM: nella tua gif animata, sembra che vim pensi che abbia una colonna in meno (forse a causa della linea verticale centrale?) –