Terminal Mac: l'édition de commandes à la manière d'emacs a été gâchée

5

C’est pour moi un problème de "qualité de vie" depuis un moment - l’édition de ligne de commande dans le terminal Mac est perturbée.

Si je tape quelques caractères, puis que je tape CTRL-A pour aller au début de la ligne, le curseur se déplacera trop loin. Il semble que ce qui est affiché à l'écran ne soit pas synchronisé avec ce que bash a vraiment dans son "tampon".

Par exemple, je commence à taper "ls -l":

screen capture - typing

... et appuyez ensuite sur CTRL-A pour déplacer le curseur.

screen capture - cursor moved too far

Je pense que les extraits suivants de mon .bashrc sont pertinents pour un diagnostic potentiel:

export PS1="\[\h:\w\]\$ " 
export SUDO_PS1="\[\h:\w\]\\$ "
set -o emacs

FWIW, cela m’arrive aussi lorsque j’utilise iTerm2 au lieu du terminal par défaut de Mac.

Caffeine Coma
la source

Réponses:

10

Déposez les '\ [' et '\]'. Ils signifient "les éléments fournis ne prennent pas d’espace libre" et gâchent le compte, comme vous le supposiez. Ils sont généralement utilisés pour entourer des chaînes qui définissent la couleur de texte suivante, f / ex. Sans eux, l'invite - et l'édition d'Emacs - fonctionneront correctement.

Voici un pratique référence de syntaxe d'invite carte.

JRobert
la source