Como posso copiar a palavra que estou digitando? (sem interruptor de modo…)

4

Às vezes, quero definir uma marca inicial e depois digitar uma palavra (geralmente um nome longo de variável), depois de terminar a palavra, posso definir uma marca final. Então eu posso pegar a palavra armazenada no meu registro para que eu possa colá-la sem qualquer movimento extra, troca de modo, etc.

Como posso fazer isso? Ou existe um melhor "caminho-vim" para alcançar o efeito similar?

Obrigado.

    
por craftsman.don 06.11.2012 / 02:12

4 respostas

2

Os dois mapeamentos a seguir permitem gravar qualquer parte do texto que você está digitando no modo de inserção, não necessariamente uma única palavra, e salvá-lo no registro o .

inoremap <C-K> <C-O>qo
inoremap <C-L> <Esc>q:let @o=@o[:-2]<CR>a

Inicie a gravação com Ctrl K , finalize a gravação com Ctrl L . Cole o texto gravado no modo de inserção com Ctrl R o .

    
por 06.11.2012 / 15:15
4

No modo INSERT , você pode usar Ctrl-N ou Ctrl-P para acionar o preenchimento automático.
É muito útil quando você está redigitando palavras longas.

    
por 06.11.2012 / 02:19
2

Use m e y .

  1. Digite Ctrl + O (sai do modo de inserção para um comando)
  2. Digite mk para definir o marcador k como sua localização atual
  3. Digite sua palavra
  4. Digite Ctrl + O
  5. Digite y'k para extrair do marcador k para sua localização atual

link

    
por 06.11.2012 / 02:16
0

Com <C-o> , você pode deixar temporariamente o modo de inserção para um único comando. Em seguida, você pode emitir um comando yiw (palavra interna yank) e ter a última palavra que você digitou no registro padrão (ou qualquer outro que você especificar com "x ).

    
por 06.11.2012 / 12:24

Tags