Как выполнить запрос ctrl+r, так как -вместо совпадения?

sed -n 's/\(file\)\(.*\)\(\.foo\)/blang\2\3/p' input.txt > output.txt

(записывает в выходной файл)

ИЛИ

sed -i 's/\(file\)\(.*\)\(\.foo\)/blang\2\3/' input.txt 

(в -замена файла)

3
26.08.2020, 17:45
1 ответ

В zsh можно использовать переменныеLASTSEARCHи LASTABORTEDSEARCH. Они доступны только внутри виджетов редактора.

Виджет редактора — это функция, преобразованная в виджет редактора с помощьюzle -Nи вызываемая с помощью привязки клавиш. (Привязка клавиш может бытьESC-x:в режиме vi.)

Например, следующий код связывает ESC-s, чтобы заменить текущую командную строку последним добавочным поиском. Если вы нажмете ESC-sво время добавочного поиска, это текущий поиск (, который будет прерван ).

function set-buffer-last-search { LBUFFER=$LASTSEARCH; RBUFFER=; }
zle -N set-buffer-last-search
bindkey '\es' set-buffer-last-search
2
18.03.2021, 23:09

Теги

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