Допустим, вы ввели следующую команду в эмулятор терминала:

sudo apt-get apple pie install hamster

Вы запускаете его и понимаете, что ваш мозг пердит. Вы поместили имена пакетов apple и pie перед подкомандой install. В этом случае вы можете переформатировать команду, чтобы она была правильной, с помощью следующих команд:

C-p M-b M-b C-k M-b M-b C-y SPC

Или вы можете посмотреть эту запись на Asciinema.

Но, возможно, есть и другой способ решения этой проблемы: вместо того, чтобы вырезать последнюю часть команды и поместить ее в середину, что выполнимо только в некоторых случаях, можно выбрать область вокруг apple pie и обрезать ее.

Поэтому мой вопрос прост: можно ли выбрать область, как в emacs, для вырезания и вставки?

2 ответа2

1

Оказывается, в библиотеке READLINE есть функция, названная так же, как в emacs-эквиваленте kill-region . Но для того, чтобы использовать ключ, мы сначала должны отсоединить его от функции, определенной в другом месте:

stty werase undef

Затем мы можем связать ключ с функцией так, как мы хотели:

bind '"\C-w":kill-region'
0

Пользователи другого настоящего редактора могут set -o vi и затем использовать. Например, d2w$p

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .