Problema de terminal / iTerm2: Invertir-i-búsqueda recorta el comando

5

He tenido este problema desde la versión 10.9.

  1. coloca el cd en una ruta razonablemente larga, por ejemplo, cd /Volumes/Storage/backup/long/path
  2. Ingresa un comando moderadamente largo, por ejemplo, curl -X GET http://localhost:8888
  3. ctrl + R , escriba curl
  4. ctrl + E

El comando que se muestra se desplaza hacia la izquierda y deja los espacios en blanco a la derecha, de este modo:

¿Se trata de un error conocido o es solo yo?

    
pregunta Kar 01.03.2015 - 19:40

3 respuestas

5

Es tu $PS1 - no se ha escapado correctamente. Debe eliminar todos los caracteres que no se impriman con \[ y \] . Por ejemplo, si tienes

PS1='\e[32m\u \W\e[0m $ '

tienes que cambiarlo a

PS1='\[\e[32m\]\u \W\[\e[0m\] $ '

o su cursor aparecerá muy a la derecha porque su shell cree que su indicador es tan largo, y cuando vuelve a escribir el comando no puede encontrarlo. Molesto, lo sé. En zsh necesitas usar %{ y %} IIRC.

Y mientras está considerando cambiar a otro shell, sugeriría fish . Es un poco más de un salto, pero me mantiene sano.

    
respondido por el 0942v8653 02.03.2015 - 00:10
0

La respuesta desafortunada es: solo eres tú.

Mi bash es:

bash-3.2$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.

Y iTerm2 es la última versión y se comporta como se esperaba: Ctrl-E durante una búsqueda de historial inversa me pone al final de la línea, en el carácter después del último carácter en la línea seleccionada.

Podría haber algo en la configuración de bash que está causando el problema. Puede hacer a un lado sus archivos ~/.bash_profile y ~ / .bashrc 'y probar Ctrl-R y Ctrl-E y ver si las cosas se comportan mejor. Si lo hacen, reemplace sus personalizaciones de una en una y vea si puede encontrar al culpable.

    
respondido por el Ian C. 01.03.2015 - 23:54
0

Cambiar el export TERM="xterm-color" a export TERM="xterm" en mi .bash_profile solucionó el problema para mí.

    
respondido por el iurii 21.03.2016 - 12:17

Lea otras preguntas en las etiquetas