Pergunta

Programando no vim, muitas vezes procuro algo, arranco, depois volto para onde estava, insiro, modifico.

O problema é que depois de pesquisar e encontrar, preciso encontrar MANUALMENTE o caminho de volta para onde estava.

Existe uma maneira automática de voltar para onde eu estava quando iniciei minha última pesquisa?

Foi útil?

Solução

Ctrl+Ó me leva ao local anterior.Não sei sobre a localização antes da pesquisa.

Editar:Também, `. irá levá-lo para a última alteração que você fez.

Outras dicas

Usar `` para voltar para a posição exata em que você estava antes de procurar/pular, ou '' para voltar ao início da linha em que você estava antes de pesquisar/pular.

Sempre fiz isso deixando uma marca.

  1. No modo de comando, pressione m [letra].Por exemplo, eu sou define uma marca na linha atual usando a como identificador de marca.

  2. Para voltar à marca pressione ' [carta].Por exemplo, ' a leva você de volta à marca definida na etapa 1.

Para ver todas as marcas definidas atualmente, digite :marcas.


Numa nota um pouco não relacionada, acabei de descobrir outra coisa interessante sobre marcas.

Digamos que você salte para a marca b fazendo 'b.Vim define automaticamente a marca ' (isso é uma aspa simples) para ser a linha em que você estava antes de pular para a marca b.

Isso significa que você pode fazer 'b para pular para essa marca, então faça '' (2 aspas simples) para voltar para onde você estava antes.

Eu descobri isso acidentalmente usando o :marcas comando, que mostra uma lista de todas as marcas.

Você realmente deveria ler :help jumplist explica tudo isso muito bem.

CTRL+O e CTRL+I, para pular para frente e para trás.

A maneira mais simples é definir uma marca, com m[letter], então volte para ele com '[letter]

Eu uso este:

nnoremap / ms/
nnoremap ? ms?

Então, se eu pesquisar algo usando / ou ?, posso voltar rapidamente `s.Você poderia substituir a carta s para qualquer letra que você quiser.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top