Domanda

Vorrei allegare schermo o tmux all'interno di Emacs, in modalità shell. Spesso mi trovo a correre emacs con i processi inferiori all'interno dello schermo su server remoti; sarebbe bello se potessi spostare il flusso di lavoro per emacs locali + TRAMP; capacità di ricollegare le sessioni persistenti è un must, però. (Tale flusso di lavoro è particolarmente utile per l'analisi in R [1])

Shell-mode è piuttosto auspicabile perché continuo a incontrare difetti vari e addirittura si blocca quando si utilizza la combinazione di termine Mx o Mx ANSI termine + schermo + R. Tuttavia, non posso sembrare di sbarazzarsi di ansi colorato reso come sfuggire codici a schermo quando eseguito sotto shell Mx. Quando uso ansi-color-for-comint-mode-on, stanno bene - ma non appena schermo non si accende, diventa un pasticcio orribile.

Qualcuno ha capito l'insieme delle condizioni per una corretta interpretazione dei ANSI colore con le coperture + schermo o tmux? Che dire sbarazzarsi di colore del tutto? .. Ci sono altre alternative in termini di processi in esecuzione remoti persistenti e le collega al emacs locali? ..

[1] http://blog.nguyenvq.com/2010/07/11/using-r-ess-remote-with-screen-in-emacs/

È stato utile?

Soluzione

Per quanto posso dire, schermo richiede funzioni del terminale che modalità shell Emacs' semplicemente non può e non fornisce, semplicemente perché non è un terminale a caratteri tradizionale come VT100. Quindi il problema non è di sbarazzarsi di o cercando di interpretare i codici di colore -. Ci sono le capacità più terminali che schermo richiede per funzionare correttamente

Per impostazione predefinita dello schermo non ha nemmeno si avvia in modalità shell Emacs', per quanto mi può dire (esso errori fuori dicendo che ha bisogno di capacità di schermo chiaro). Alcuni messaggi giro per il web sembrano suggerire l'impostazione TERM = xterm Per ovviare a questo, ma è solo schermo ingannare a pensare che il terminale ha le capacità di XTerm, che non ha.

Il termine e ANSI termine modalità di Emacs avrebbe fornito le capacità del terminale richiesti da Screen, ma purtroppo sembra che tu abbia problemi avuto con queste modalità.

Quello che vorrei suggerire invece sarebbe quello di avere uno sguardo al comando "emacsclient -t" (parte di Emacs), che permette di aprire una cornice locale collegato a un'istanza di Emacs esistente in maniera simile a come schermo consente di riconnettersi a un'istanza di schermo creato in precedenza. In questo modo si potrebbe forse configurare un emacsclient sul vostro computer locale per riconnessione su TCP ad una persistente un'istanza di Emacs remoto.

Altri suggerimenti

Non faccio uso di schermo, ma forse si può risolvere questo problema dal vostro .bashrc. Ho un mucchio di codice condizionale in là, girando di colore a finestre xterm, ma lasciando fuori per altri terminali che non supportano. M-x shell imposta la variabile TERM per muta, in modo da poter verificare che e impostare il colore di conseguenza.

case "$TERM" in
dumb)
## non-color settings here
;;
xterm)
## color settings here
;;
*)
## default (maybe you want non-color here?)
;;
esac
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top