Я хотел бы иметь возможность копировать и вставлять текст в командной строке Bash , используя те же привязки клавиша , что Emacs использует по умолчанию (то есть , используя C-space
для set-mark
, M-w
чтобы скопировать текст, C-y
, M-y
чтобы вставить его, и т.д.).
В документации GNU Bash говорится, что Bash поставляется с некоторыми из этих привязок клавиш, настроенных по умолчанию.
Например, yanking ( C-y
) работает по умолчанию на моем терминале. Тем не менее, я не могу получить set-mark
и copy
команды для работы, и они , кажется, не быть связаны с любыми ключами по умолчанию.
Обычно пользователь может определить свои собственные привязки клавиш, чтобы добавить их .inputrc
. Поэтому я посмотрел и нашел следующие функции bash в документации, которая, как я полагаю, может помочь мне определить поведение, подобное Emacs, которое я хочу (то есть set-mark
с C-space
и copy
с M-w
).
copy-region-as-kill ()
Скопируйте текст в области в буфер уничтожения, чтобы его можно было сразу же восстановить. По умолчанию эта команда не связана.
и
set-mark (C-@)
Установите отметку в точку. Если указан числовой аргумент, отметка устанавливается на эту позицию.
Если я правильно понимаю, вышеуказанные средства, copy-region-as-kill
не связанные с какой - либо последовательностью клавиатуры по умолчанию, в то время как set-mark
обязаны C-@
по умолчанию.
Я попробовал C-@
на своем терминале, но я не думаю, что он работает, set-mark
потому что я не вижу никакого текста, выделенного, когда я двигаю свой курсор. В любом случае, я пытался добавить привязки клавиатуры ( M-w
и C-
) к функциям copy-region-as-kill
и set-mark
выше в моем, .inputrc
а затем перезагрузить его C-x C-r
, но это не сработало. Я знаю, что мои другие записи в .inputrc
работе, потому что у меня есть другие определенные пользователем сочетания клавиш, определенные в нем.
Что-то я делаю не так? Я что-то упустил?
bash
и какую терминальную программу вы используете?