Я только что открыл возможность использования vi-mode в zsh. Довольно круто. Но я использовал CTRL-r в режиме emacs в значительной степени и действительно очень скучаю по нему. Есть ли что-то подобное или я могу получить эту функциональность в vi-режиме?
Обратный поиск в режиме vi
Ответ 1
Вы можете привязать history-incremental-search-backward
к любому ключу, например:
bindkey -M vicmd '?' history-incremental-search-backward
Ответ 2
В соответствии с этим ответом: https://unix.stackexchange.com/a/30169
вы можете фактически привязать в vim-режиме к поиску истории:
bindkey '^R' history-incremental-search-backward
В соответствии с комментарием к ответу вы также можете привязать к history-incremental-pattern-search-backward
bindkey '^R' history-incremental-pattern-search-backward
Затем вы выполняете поиск по шаблону истории с помощью
Пример: <C-R> mv * /target
Ответ 3
Это решение: up/down позволяет либо просматривать историю (если поле пустое), либо искать. Сделал мой день.
bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search