Il cursore iTerm2 non ritorna all'inizio della riga

2

Non sono sicuro se mi manca una sorta di configurazione qui, ma a volte il mio cursore non è in grado di tornare all'inizio della riga in cui inizia il comando. Se premo FN + leftArrow, i caratteri dopo l'inizio del comando diventano pochi, se premo FN + rightArrow, ot va molto indietro rispetto alla fine della riga. Sembra che pensi che tutta la linea sia spostata a destra. Vedi gli screenshot allegati. Non ero in grado di riprodurre questo apposta. Succede con tutti i tipi di comandi diversi abbastanza non deterministicamente :-(. Tutte le idee sono accolte, grazie.

Matthew

    
posta Matthew Lowe 08.10.2016 - 20:06
fonte

2 risposte

3

Quindi la nostra sessione di debug ha determinato che si tratta della personalizzazione rapida, non di iTerm2. Hai detto che la tua personalizzazione del prompt è:

export PS1="$(tput bold)$(tput setaf 6)\t [\W]$(tput sgr0): "

La semplice risposta è non usare tput per personalizzare il tuo prompt. È il comando sgr0 reset che probabilmente fa più di quello che vuoi e avvita i movimenti di testo memorizzati nel buffer.

Proviamo a farlo direttamente con i codici ANSI. Se utilizzi una combinazione di schemi di colori ANSI come questa puoi provare:

export PS1="${normal}${bold_blue}\t [\W]${normal}: "

Funziona perfettamente per me con le combinazioni di frecce Fn per navigare nella linea.

tput è un'idea chiara, ma proviene dal pacchetto ncurses che è un modo molto avanzato di eseguire interfacce utente nell'interfaccia prompt dei comandi, sfruttando tutti i tipi di terminali. Meglio attenersi ad ANSI qui.

    
risposta data 08.10.2016 - 21:18
fonte
0

Mi sono imbattuto nello stesso problema, con esattamente le stesse cose (iTerm, bash e tput). Aggiungi $(tput sgr0) in primo piano e avvia una sub shell bash, il problema scompare e Ctrl + A e Ctrl + E funzionano correttamente da quel momento in poi.

    
risposta data 16.01.2019 - 18:56
fonte

Leggi altre domande sui tag