Mac Terminal: modifica del comando in stile emacs incasinata

5

Questo è stato un problema di "qualità della vita" per me da un po 'di tempo - la modifica da riga di comando nel terminale Mac è incasinata per me.

Se digito alcuni caratteri, quindi premi CTRL-A per spostarti all'inizio della riga, sposterà il cursore troppo in alto. Sembra che ciò che è presente sullo schermo non sia sincronizzato con ciò che bash ha davvero nel suo "buffer".

Ad esempio, inizio a digitare "ls -l":

...epoipremiCTRL-Aperspostareilcursore,eallafinetornoaquantoseguesulloschermo:

Penso che i seguenti frammenti del mio .bashrc siano rilevanti per una potenziale diagnosi:

export PS1="\[\h:\w\]\$ " 
export SUDO_PS1="\[\h:\w\]\$ "
set -o emacs

FWIW, questo capita anche a me durante l'utilizzo di iTerm2 al posto del terminale predefinito Mac.

    
posta Caffeine Coma 07.07.2011 - 23:22
fonte

1 risposta

10

Rilasciare '\ [' e '\]'. Significano "le cose racchiuse non occupano spazio sul display" e stanno incasinando il conto, come sospettavate. Di solito vengono utilizzati per racchiudere stringhe che impostano il seguente colore del testo, f / ex. Senza di essi, il prompt e la modifica di emacs funzioneranno correttamente.

Ecco una utile scheda di riferimento della sintassi .

    
risposta data 08.07.2011 - 00:37
fonte

Leggi altre domande sui tag