I comandi della cronologia non sono corretti nella modalità Bash Vi

2

Sto riscontrando questo problema werid e davvero fastidioso in bash in modalità vi.

Env: Mac 10.9.2, iTerm 2 1.0 o Terminal.app, $TERM={screen-256color|xterm-256color|xterm|vt}

Procedura di riproduzione:

  1. Esegui alcuni comandi lunghi (come 'some_long_commands_long_long')
  2. Premere Esc e quindi premere k .

Il problema è:

  1. Vedo "some_long_commands_long_long" sulla mia riga di comando. Ma il cursore non si trova all'inizio, ma è sul 12 ° carattere, vedi screenshot

  2. SepremoAperaggiungereunaltrotesto,ilcursoreandràoltreilcomando,ilchesignificacheilcomandoREALiniziadadovesitrovailcursoreinprimoluogo,ilrenderingèsbagliato.

Ho cercato su google ma non ho trovato nulla ..... Qualcuno ha un'idea migliore di questo? Grazie mille ...

    
posta Jiesi Luo 06.03.2014 - 00:22
fonte

2 risposte

2

Dopo aver eseguito il debug per un po 'ho finalmente capito. È un problema causato da PS1. Fondamentalmente ho dimenticato di avvolgere il mio colorato ">" con "\ [" e "\]".

    
risposta data 06.03.2014 - 23:22
fonte
0

In base ai commenti in Stackoverflow, IMHO il problema è in una combinazione tmux / iTerm / settings, non nella stessa bash . dovresti provare a risolvere il problema passo passo:

  1. avvia nativo Terminal.app con un pulito ~/.profile e ~/.tmuxrc
  2. prova set -o vi senza tmux
  3. se funziona, (dovrebbe) - passare a iTerm e ricontrollare (dovrebbe funzionare)
  4. inizia tmux in Terminal.app e in iTerm e confronta ... entrambi dovrebbero funzionare.
  5. passo-passo abilita il tuo .tmuxrc config ...
risposta data 06.03.2014 - 00:36
fonte

Leggi altre domande sui tag