Los comandos de historial se muestran incorrectos en el modo Bash Vi

Tengo este problema extraño y realmente molesto en el modo bash vi.

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

Pasos de reproducción:

  1. Ejecute algunos comandos largos (como 'some_long_commands_long_long')
  2. Presione Escy luego presione k.

El problema es:

  1. Veo "some_long_commands_long_long" en mi línea de comando. Pero el cursor no está ubicado al principio, sino que está en el carácter 12, vea la captura de pantallaingrese la descripción de la imagen aquí

  2. Si presiono Apara agregar algún otro texto, el cursor irá más allá del comando, lo que significa que el comando REAL comienza desde donde se encuentra el cursor en primer lugar, la representación es incorrecta.

    ingrese la descripción de la imagen aquí

Busqué en Google pero terminé sin nada... ¿Alguien tiene una mejor idea sobre esto? Muchas gracias...

Respuestas (2)

Después de depurar durante bastante tiempo, finalmente lo descubrí. Es un problema causado por PS1. Básicamente, olvidé envolver mi ">" coloreado con "\[" y "\]".

Según los comentarios en Stackoverflow, en mi humilde opinión, el problema está en una combinación tmux/iTerm/settings, no en sí bashmismo. debe intentar resolver el problema paso a paso:

  1. empezar nativo Terminal.appcon un limpio ~/.profile y~/.tmuxrc
  2. probar set -o visintmux
  3. si funciona, (debería) - cambie a iTermy verifique nuevamente (debería funcionar)
  4. comience y compare... ambos tmuxdeberían funcionar.Terminal.appiTerm
  5. paso a paso habilite su .tmuxrcconfiguración...
¡Gracias! Después de depurar bastante tiempo, finalmente lo descubrí. Es un problema causado por PS1. Básicamente, olvidé envolver mi ">" de color con "[" y "]" en mi PS1... ¡Gracias de nuevo por toda la ayuda!