readline: unix-word-rubout, а в обратном порядке это возможно?

readline: unix-word-rubout, а в обратном порядке это возможно?

Я пытаюсь настроить мой .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-regionreadline, например Alt-w

"\ew": kill-region

затем давайте назначим следующий макрос другой последовательности, скажем Alt- a:

"\ea": '\e \C-] \ew'

который выполняет следующие действия:

\e<SPACE>:

установить отметку, где находится курсор

\C-]<SPACE>:

найдите пробел и переместите туда курсор

\ew:

удалить область между меткой и курсором

Связанный контент