Bash: удалить от курсора до конца строки с помощью сочетания клавиш

Рассмотрим следующую подсказку bash, где ^ обозначает местоположение подсказки:

$ git commit -am "[bug 123456] Do this and that with the bug"
                               ^

Предположим, что я хочу снова зафиксировать ту же ошибку с другим сообщением фиксации. Есть ли способ удалить текст с позиции курсора до конца строки?

91
задан 26 September 2017 в 00:15

3 ответа

Используйте Ctrl + K для удаления от курсора до конца строки.

Используйте Ctrl + U для удаления из курсора в начало строки.

0
ответ дан 26 September 2017 в 00:15

Это зависит от того, используете ли Вы vi (set -o vi) или emacs (set -o emacs) режим редактирования в Вашей оболочке.

По умолчанию, Ваша оболочка обычно значения по умолчанию к emacs режиму редактирования.

  • В emacs режиме, удаляющем в конец строки, может быть выполнен при помощи ctrl-k команды.

  • Если, однако, Вы, оказывается, используете vi режим редактирования в своем командном процессоре, тот же результат может быть выполнен путем ввода Esc (который разместит Вас в командный режим), сопровождаемый d-$ (если Вы захотите удалить всю строку, введите dd).

Если Вы не уверены, относительно которого, режима редактирования что Вы в настоящее время используете в своей оболочке, вводите команду set -o из командной строки и Вы сможете определить, какой режим редактирования, который Вы в настоящее время используете:

set -o
...snip...
emacs           on
...snip...
vi              off

Для переключения режима редактирования командной строки просто введите также:

set -o vi

или

set -o emacs
47
ответ дан 26 September 2017 в 00:15

Если вы знакомы только с одним из Zsh и Bash, вот эквивалентные привязки клавиш, которые вам (возможно) понадобятся:

bash

bind '"\C-k"':kill-line

zsh

[ 111]

Другая важная информация

Чтобы получить список привязок клавиш:

# bash
bind -p

# zsh
bindkey
0
ответ дан 26 September 2017 в 00:15

Другие вопросы по тегам:

Похожие вопросы: