Переназначить Ctrl + E для автозаполнения имен файлов в Fish

Если только строка, которую вы хотите извлечь, не содержит ;, проще всего заменить . (соответствует любому одиночному символу) с [^;](соответствует любому символу, кроме ;)

$ printf '%s\n' "$my_string" | grep -oP '(?<='baz=')[^;]*'
222

С grep, связанным с libpcre 7.2 или новее, вы также можете упростить просмотр назад, используя форму \K:

$ printf '%s\n' "$my_string" | grep -oP 'baz=\K[^;]*'
222

Они будут печатать все вхождения в строке и предполагать, что соответствующий текст не содержит символов новой строки (поскольку grepобрабатывает каждую строку ввода отдельно).

1
25.03.2017, 19:49
1 ответ

Привязка, которую вы ищете, - forward-char . Обычно клавиша (стрелка вправо) и Ctrl - F привязаны к нему и принимают предложение рыбы. Обратите внимание, что это отличается от автозаполнения, соответствующего complete-and-search и привязанного к вкладке по умолчанию.

Чтобы добавить Ctrl - E в этот список, вы можете сделать:

bind \ce forward-char
0
28.01.2020, 00:58

Теги

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