No estoy seguro de si me falta algún tipo de configuración aquí, pero en ocasiones mi cursor no puede volver al principio de la línea donde comienza el comando. Si presiono FN+Flecha izquierda, va unos pocos caracteres después del comienzo del comando, si presiono FN+Flecha derecha, va muy por detrás del final de la línea. Parece que piensa que toda la línea está desplazada hacia la derecha. Ver capturas de pantalla adjuntas. No pude reproducir esto a propósito. Sucede con todo tipo de comandos diferentes de manera bastante no determinista :-(. Cualquier idea es bienvenida, gracias.
mateo
Entonces, nuestra sesión de depuración ha determinado que es su personalización rápida, no iTerm2. Dijiste que tu personalización rápida es:
export PS1="$(tput bold)$(tput setaf 6)\t [\W]$(tput sgr0): "
La respuesta simple es no usar tput
para personalizar su aviso. Es el sgr0
comando de reinicio el que probablemente está haciendo más de lo que usted quiere que haga y estropeando los movimientos de texto almacenados en búfer.
Intentemos hacer esto con códigos ANSI directamente. Si usa una configuración de esquema de color ANSI como esta, puede probar:
export PS1="${normal}${bold_blue}\t [\W]${normal}: "
Eso funciona perfectamente para mí con combinaciones de flechas Fn para navegar por la línea.
tput
es una buena idea, pero proviene del ncurses
paquete, que es una forma muy avanzada de hacer interfaces de usuario en las interfaces de símbolo del sistema mediante la explotación de todo tipo de cosas de la terminal. Lo mejor es apegarse a ANSI aquí.
export PS1="${color reset}${color blue bold}\t [\W]${color reset}: "
. ¿Algunas ideas?color
, es una llamada de función, pero está tratando de usarla como una especie de referencia variable. Prueba export PS1="$(color reset)$(color blue bold)\t [\W]$(color reset): "
en su lugar.color
en realidad era algún tipo de comando (aunque no funcionó en bash ni en zsh). Ahora veo que es una función. Jugaré más con él y veremos qué puedo hacer que funcione. Gracias por toda la ayuda :-).\[
antes de cada secuencia que no se imprima (es decir, una variable de código de color) y \]
después.$BOLD
en ${BOLD}
las referencias de variables en mi PS1:RED='\[\033[31m\]' GREEN='\[\033[32m\]' YELLOW='\[\033[33m\]' BLUE='\[\033[34m\]' MAGENTA='\[\033[35m\]' CYAN='\[\033[36m\]' BOLD='\[\033[1m\]' NORMAL='\[\033[0m\]' INVERT='\[\033[7m\]' UNINVERT='\[\033[27m\]' export PS1="${BOLD}\$(which_newton)${NORMAL}${BOLD}\$(git_branch)${BLUE}\$(gradle_status)\W/${NORMAL} $ "
Me encontré con el mismo problema, con exactamente las mismas cosas (iTerm, bash y tput). Agregué $(tput sgr0)
al frente y comencé un bash sub shell, el problema desaparece y Ctrl + A
funciona Ctrl + E
correctamente a partir de ese momento.
ian c
martinecko
ian c
for f in ~/.bash{rc,_profile}; do mv "${f}" "${f}.save"; done
y luego obtenga una nueva ventana de iTerm2. ¿Sigues teniendo el problema después de hacer eso?martinecko
export PS1="$(tput bold)$(tput setaf 6)\t [\W]$(tput sgr0): "