Eu frequentemente digito "_" como "-" ao fazer uma rápida isearch-forward
.
Por exemplo, estou procurando snake_case
, digite acidentalmente C-s snake-case
e não obtenho resultados. Na melhor das hipóteses, percebo com rapidez suficiente e não preciso excluir muito do termo de pesquisa; na pior das hipóteses, basicamente tenho que digitá-lo novamente.
Existe alguma maneira de ligar isearch-forward
para alterar minha consulta em um isearch-forward-regexp
like snake[-_]case
?
Na verdade, preciso procurar com lisp-case
bastante frequência que a simples mudança de "-" para "_" cause mais problemas do que resolve.
M-e
para pular para o mini-buffer para editar a sequência de pesquisa enquanto o isearch estiver ativo. EntãoC-e M-b BKSPC _
eC-s
para continuar a pesquisa.isearch
?Respostas:
Não consigo imaginar nenhum comportamento automatizado que não lhe cause dor quando não é isso que você quer que ele faça.
Na minha opinião, a recomendação de kaushalmodi M-eé a melhor resposta - facilitar a correção do problema parece preferível a tentar fazer com que a pesquisa leia sua mente.
Observe que isearch é inteligente o suficiente para anotar o primeiro caractere em que a pesquisa falhou e M-ecoloca o cursor nessa posição automaticamente, mesmo que você continue digitando caracteres subsequentes, a sequência de teclas típica para corrigir o padrão e retomar a pesquisa seria apenas:
M-eC-d_C-s
fonte
M-e
coloca o cursor nessa posição automaticamenteM-e
, o que certamente torna as coisas mais fáceis, especialmente porque ela volta ao erro de digitação.Se você usar swiper e procurar
snake case
, ele irá corresponder tantosnake_case
esnake-case
.swiper
é uma novaisearch
alternativa que fornece uma visão geral do minibuffer enquanto você pesquisa.Na imagem acima, a entrada é
ivy m
que se traduz no regexivy.*m
. Existem 36 correspondências para este regex. Você pode navegar entre eles com C-s/ C-r ou C-n/ C-p.Você pode instalar
swiper
com M-xpackage-install
. Está disponível no MELPA e no GNU ELPA.fonte
C-w
eM-e
deveria fazer? Você pode postar em github.com/abo-abo/swiper/issues se quiser que eu adicione algo.M-e
para swiper, já está emM-e
. E para colocar a coisa em questão, pressioneM-n
. Ainda não há como expandi-lo, mas você pode continuar digitando.