readline: unix-word-rubout, но назад, действительно ли это возможно?

Используйте -exec опция для find как это:

find . -maxdepth 1 -name "*.bitbucket" -exec hg pull --update --repository {} \;

{} заменяется результатом находки и \; разделитель указывает, что они должны быть выполнены по одному. A + заставил бы набор их быть представленным в виде строки вместе как аргументы.

2
28.03.2012, 13:19
1 ответ

Короче говоря, добавьте следующие строки к ~/.inputrc:

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

где w и a символы могли быть изменены на Ваше желание.

Как это работает

Давайте присвоим сочетание клавиш kill-region команда readline, например, Alt-w

"\ew": kill-region

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

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

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

\e<SPACE>:

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

\C-]<SPACE>:

ищите пространство и переместите курсор туда

\ew:

уничтожьте регион между меткой и курсором

2
27.01.2020, 22:15
  • 1
    я думаю, что Вы хотите character-search-backward, т.е. изменение \C-] кому: \e\C-]. –  Mikel 28.03.2012, 18:51
  • 2
    @Mikel: нет, я понимаю, что с "назад" OP означает "в обратном направлении относительно \C-w", и, учитывая, что \C-w уничтожьте от курсора до предыдущего пространства слева, я создал аналогичную функцию для уничтожения от курсора до следующего пространства справа. –  enzotib 28.03.2012, 18:58
  • 3
    да @enzotib является правильным. Плохой выбор слов с моей стороны. Я попробую решение enzotib и позволю Вам, парни знают. А-ч –  Giuseppe Rota 28.03.2012, 19:05
  • 4
    . OP хочет уничтожать-слово, но использующее пространство как разделитель. :-) –  Mikel 28.03.2012, 19:12
  • 5
    да, это работает, но имеет проблему с EOL, в, котором так как это ищет пространство, это не может найти конец строки. Но я предполагаю, что нет никакого пути вокруг этого, правильно? –  Giuseppe Rota 28.03.2012, 19:21

Теги

Похожие вопросы