Impedire a Vim di cancellare il terminale dopo l'uscita


15

Se lo faccio:

$ less file

E premere qper uscire less, vedrò lo stesso testo che avevo sullo schermo quando lessera ancora in esecuzione.

Tuttavia, se lo faccio

$ vim file

E il :qmio terminale è oscurato ...

Schermate del mio terminale dopo aver chiuso lesse vim:

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Posso in qualche modo impedirlo? Questo è solo sul mio sistema Linux. Il mio sistema FreeBSD funziona davvero come previsto (usando lo stesso software / impostazioni tutt'intorno, TERMè xterm-colorper entrambi, vim -u NONEnon fa differenza).

Esempio di cosa vorrei avere:

inserisci qui la descrizione dell'immagine

Risposte:


18

Per impostazione predefinita, VIM, al termine, invia la stringa configurata con l'opzione t_teal terminale di hosting per comunicargli di cancellare lo schermo. Per evitarlo basta :set t_te=non inviare nulla al terminale ed evitare la cancellazione dello schermo. Vedi :help termmodulo ulteriori informazioni sulle funzionalità del terminale.


2

Mentre stai usando un xterm potresti usare i suoi buffer dello schermo principale e alternativo per lo scambio di schermate, come in questa sezione dal mio .vimrc

if &term == "linux"
    set t_ti=^[[?1049h
    set t_te=^[[?1049l
endif                                                       

Nota: non^[ è un testo letterale, è il carattere di escape, usa + seguito da per inserirlo.CtrlvEsc

Questi comandi vim aggiungono i comandi rilevanti che possono mancare nella voce terminfo di linux. Maggiori informazioni su

:help xterm-screens

Hm, non sembra ancora fare nulla? Funziona come se usassi set t_te=, ma dovrebbe fare di più, penso?
Martin Tournoij,
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.