Mac Terminal: редагування команд у стилі emacs переплутано


5

Це було проблемою "якості життя" для мене на деякий час зараз - редагування командного рядка в терміналі Mac замішане для мене.

Якщо я введу декілька символів, а потім натискаю CTRL-A, щоб перейти до початку рядка, він перемістить курсор надто далеко. Здається, що на екрані не синхронізується з тим, що bash дійсно має в своєму "буфері".

Наприклад, я починаю набирати "ls -l":

screen capture - typing

..., а потім натисніть CTRL-A, щоб перемістити курсор, і на екрані з'явиться наступне:

screen capture - cursor moved too far

Я думаю, що наступні фрагменти з мого .bashrc стосуються потенційного діагнозу:

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

FWIW, це також трапляється зі мною під час використання iTerm2 замість терміналу Mac за замовчуванням.

Відповіді:


10

Відкиньте '\ _' і '\ _'. Вони означають, що "вкладені речі не займають простір на дисплеї", і, як ви підозрювали, вони зіпсували графа. Зазвичай вони використовуються для укладання рядків, які задають наступний колір тексту, f / ex. Без них підказка та редагування emacs працюватимуть коректно.

Ось це зручно посилання підказка-синтаксису картки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.