Виріжте область із вхідних даних


0

Скажіть, що ви ввели в емулятор термінала наступну команду:

sudo apt-get apple pie install hamster

Ви запускаєте це і розумієте, що ваш мозок пердеть. Ви розмістили назви пакетів appleі pieперед встановленням підкоманди. У цьому випадку ви можете переформатувати команду на правильність за допомогою наступних команд:

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

Або ви можете подивитися цю запис на asciinema .

Але, можливо, існує інший спосіб вирішити цю проблему: Замість того, щоб вирізати останню частину команди та поставити її в середину, що лише в деяких випадках можливо, можна було б вибрати область навколо apple pieта вирізати її.

Отже, моє запитання просто: чи можна вибрати область, наприклад в emacs, яку потрібно вирізати та вставити?


1
Зараз це трохи пізно, але просто для уточнення, ви маєте на увазі M-b? M-pне робить нічого в моєму рядку читання, і воно не пов'язане ні з чим за замовчуванням у emacs.
Сорен Бьорнстад

Так, правильно. Виправили питання.
Рованіон

Відповіді:


1

Виявляється, є функція в бібліотеці Readline для цього, названої так само , як еквівалент EMACS, kill-region. Але для того, щоб використовувати ключ, ми спочатку повинні від’єднати його від функції, визначеної ще:

stty werase undef

Потім ми можемо прив’язати ключ до функції, як хотіли:

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

Варто зазначити, що за замовчуванням у M-Spaceрядку читання ви використовуєте для встановлення позначки (не так, C-Spaceяк це характерно для прив'язки клавіш emacs-ish).
Сорен Бьорнстад

0

Користувачі іншого справжнього редактора можуть set -o viі потім використовувати. Напр d2w$p

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.