Come posso ottenere la modalità shell di Emacs per rendere (o ignorare) i miei colori invece di stampare codici ASCII?

StackOverflow https://stackoverflow.com/questions/256264

  •  05-07-2019
  •  | 
  •  

Domanda

Il sintomo del problema è simile a " [0m [27m [24m [J [34; 1 " che su un terminale si traduce nel colore blu.

-A

È stato utile?

Soluzione 2

La soluzione che attualmente mi sta dando qualche successo è ridefinire la funzione shell come termine ansi:

;; shell-mode
(defun sh ()
  (interactive)
  (ansi-term "/bin/zsh"))

Altri suggerimenti

Ho il seguente nel mio .emacs

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Per " ignora " in alternativa, inserisci qualcosa come " alias ls = ls " o " unset LS_COLORS " nel tuo ~ / .emacs_ {bash, tsch, qualunque sia il tuo nome di shell} . Questo file viene eseguito in tutte le shell subordinate create da emacs.

  

Emacs invia la nuova shell il contenuto del file ~ / .emacs_shellname come input, se esiste, dove shellname è il nome del file da cui è stata caricata la shell. Ad esempio, se si utilizza bash, il file inviato ad esso è ~ / .emacs_bash . Se questo file non viene trovato, Emacs tenta di eseguire il fallback su ~ / .emacs.d / init_shellname.sh .

Quanto segue dovrebbe funzionare nel tuo .bash_profile o .bashrc

case $TERM in
xterm-color)
export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ '
;;
*)
export PS1='\W\$ '
;;
esac
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top