Я хотел бы иметь возможность копировать и вставлять текст в командной строке 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и какую терминальную программу вы используете?