Я пытаюсь настроить мой .inputrc
для выполнения обратного, unix-word-rubout
но в настоящее время у меня это не получается.
Я M-w
сопоставил в моем .inputrc
.
это не работает:
"\eu": universal-argument
"\ew": "\eu-1\C-w"
и это тоже не так:
"\ew": "\e-1\C-w"
даже не делая этого интерактивно в оболочке, нажав M--
и затем нажав C-w
работает, т.е. он продолжает удалять слова слева от курсора.
P.S. Я знаю, что есть и другие команды kill/ruabout readline, но мне бы очень хотелось, чтобы C-w
они убивали слова, используя пробел в качестве разделителя, только в обратном порядке.
решение1
Короче говоря, добавьте следующие строки ~/.inputrc
:
"\ew": kill-region
"\ea": '\e \C-] \ew'
где w
и a
персонажи могут быть изменены по вашему желанию.
Как это работает
Давайте назначим последовательность клавиш команде kill-region
readline, например Alt-w
"\ew": kill-region
затем давайте назначим следующий макрос другой последовательности, скажем Alt- a:
"\ea": '\e \C-] \ew'
который выполняет следующие действия:
\e<SPACE>:
установить отметку, где находится курсор
\C-]<SPACE>:
найдите пробел и переместите туда курсор
\ew:
удалить область между меткой и курсором