LINUX.ORG.RU

Использование fwd-i-search и bck-i-search

 , , ,


0

1

Всех приветсвую! Давно мучал вопрос насчет использования столь странного и интересного функционала в shell. Встретил я это когда случайно нажал на ctrl+s и ctrl+r.

Хотел бы узнать, имеет ли вообще применение fwd-i-search? Потому что я так и не смог разобраться в его использовании. С bck-i-search все понятно, просто история shell.

Банально же: листаешь назад, видишь вариант команды №1, продолжаешь поиск, встречаешь то же самое, но хуже. Решаешь дальше не искать. Переключаешься на пролистывание вперёд, для возврата к №1.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

просто у меня в любом случае показывает failed когда я пытаюсь это использовать. Может это проблема из-за zsh, но не могу сказать однозначно.

failing fwd-i-search: git push_

qoil_ghost
() автор топика

А что оно делает, или в каком мане описано?

Я только history-beginning-search-backward и history-beginning-search-forward знаю из похожего.

У меня оно так:

bindkey "\e[A"      history-beginning-search-backward   # UP
bindkey "\e[B"      history-beginning-search-forward    # DOWN

(То есть, на стрелочки вверх и вниз)

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от qoil_ghost

Вы подробно опишите, что делаете. Типа нажимаете Ctrl-R что-то вводите, ещё несколько раз нажимаете Ctrl-R, каждый раз новая команда из истории, совпадающая со строкой. А потом в обратную сторону не рабоает, «failed»?

Или вы переходите на первую команду истории (Alt+Shift+<), там, если надо Ctrl-U, и ищите «вперёд»?

Или, вы просто нажимаете поиск «вперёд», находясь на последней команде в истории?

mky ★★★★★
()
fzf_history_search() {
	setopt extendedglob
	(( $#BUFFER )) && QWRY='--query' || unset QWRY
	local candidates=$(eval $history_cmd |
		fzf ${QWRY} ${BUFFER} -1 -0 -e )
	local ret=$?
	if [ -n "$candidates" ]; then
		BUFFER="${(j| && |)candidates}"
		zle vi-fetch-history -n $BUFFER
		zle end-of-line
	fi
	zle reset-prompt
	return $ret
}
autoload fzf_history_search
zle -N fzf_history_search

bindkey "^R" fzf_history_search

у меня так

BACR
()