Eu uso plug-ins do vim e vim para estúdio visual ao escrever C ++. Freqüentemente, encontro-me querendo pesquisar uma string dentro de uma função, por exemplo, cada chamada para object->public_member.memberfunc()
.
Sei que o vim oferece uma maneira conveniente de pesquisar uma única palavra, pressionando *
e #
, e também pode pesquisar strings digitadas usando o onipresente /
comando barra . Ao tentar pesquisar todas as instâncias de uma string mais longa como a acima, demora um pouco para digitar novamente /
.
Existe uma maneira de pesquisar por seleção? Por exemplo, destaque com v
e copie com y
, há uma maneira de colar depois /
? Existe um atalho mais fácil?
vim
viemu
string-search
Marcin
fonte
fonte
Respostas:
Verifique esta dica do Vim: Pesquise por texto selecionado visualmente
Ou você pode simplesmente puxar o texto selecionado com y e ir para o modo de pesquisa / , então você pode colar o último texto puxado com Ctrl + R 0
fonte
Responda
Explicação
q/
funciona de forma semelhante à pesquisa vanilla,/
exceto que você está no modo de comando, então,p
na verdade, "cola" em vez de digitar o caracterep
. Assim, o acima irá copiar o texto que você está procurando e colá-lo em uma pesquisa.Para mais detalhes digite
:help q/
fonte
evil-mode
, isso realmente funciona, enquanto a resposta aceita falha miseravelmente (provavelmente por causa do uso daCtrl
chave).q/gvp
ondegv
representa a última seleção visual ...q/gvp
não funciona para mim. Você poderia esclarecer sua sugestão?Use q / em vez de apenas / . (Mesmo com q : ). Agora você pode editar pelo VIM por meio de seu histórico de comandos e pesquisas! (Tente Ctrl-N e Ctrl-P em algum momento).
fonte
Acabei de saber (através do excelente livro Practical Vim ) que existe um plugin para isso. Você pode encontrar o plugin no GitHub .
O plugin permite que você pesquise uma seleção visual com
*
e#
.fonte
magic
configuração atual . Isso pode até fazer com que a pesquisa falhe por metacaracteres que requeiram equilíbrio. O plugin mencionado aqui fará o escape antes de pesquisar o texto selecionado.n
para ir para o próximo item encontrado, enquanto as abordagens de Cory e CMS permitem ..Na verdade, você pode selecionar o texto visualmente e pressionar * e # para pesquisar a próxima ocorrência ... Funcionará da mesma forma, a única ressalva é que:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
fonte