Я использую bash в Windows, как в Cygwin, так и в Git Bash (часть Git для Windows). В bash в отличие от Windows cmd.exe
Esc не очищает строку, только Ctrl + U. Как я могу также прояснить линию?
Спасибо!
Я использую bash в Windows, как в Cygwin, так и в Git Bash (часть Git для Windows). В bash в отличие от Windows cmd.exe
Esc не очищает строку, только Ctrl + U. Как я могу также прояснить линию?
Спасибо!
У меня нет удобной установки Cygwin или Git для Windows, чтобы проверить это, но вот ответ Unix:
Создайте файл в вашем (cygwin) домашнем каталоге с именем .inputrc и добавьте в него следующую строку:
Escape: unix-line-discard
В моем любимом варианте Unix Control-u сопоставлен с unix-line-discard, который удаляет все перед курсором. Если вы хотите, чтобы он удалил всю строку ввода, включая все, что может находиться справа от курсора, используйте «kill-whole-line» вместо «unix-line-discard».
Обратите внимание, что ваш режим редактирования bash line может использовать Escape. В моей системе Bash по умолчанию используется режим редактирования строки в стиле vi (set -o vi
), и, как вы, возможно, знаете, vi - это ключ Escape, поэтому, когда я пытаюсь это сделать, мне приходится дважды нажимать Escape, потому что первый из них съеден. в режиме редактирования в стиле vi. Я не парень Emacs, поэтому я не знаю, что будет делать режим редактирования линий в стиле Emacs с нажатием клавиши Escape.
Также обратите внимание, что файл .inputrc читается при запуске оболочки, поэтому после редактирования ~/.inputrc закройте вашу оболочку и откройте новую, чтобы увидеть, сработали ли изменения.