DEV Community 👩‍💻👨‍💻

ダニエリ for WoMakersCode

Posted on

[Dicas do VIM] Copiar, cortar e colar no VIM / NeoVim

Para copiar o texto da linha onde está o cursor

yy
Enter fullscreen mode Exit fullscreen mode

Para recortar o texto da linha onde está o cursor

dd
Enter fullscreen mode Exit fullscreen mode

Para colar o texto copiado no local onde está o cursor pressione a tecla p (p minúsculo)

p
Enter fullscreen mode Exit fullscreen mode

Caso queira copiar a palavra onde está o cursor, digite

yw
Enter fullscreen mode Exit fullscreen mode

Para selecionar um trecho do texto com o curso, é preciso entrar no modo visual pressionando a tecla v (v minúsculo)

v
Enter fullscreen mode Exit fullscreen mode

Esse comando seleciona as linhas de um texto.

modo visual do vim

Com o texto selecionado, pressione a tecla y (y minúsculo) para copiar

y
Enter fullscreen mode Exit fullscreen mode

Ou a tecla d (d minúsculo), caso queira recortar o trecho selecionado

d
Enter fullscreen mode Exit fullscreen mode

Caso queira selecionar as colunas, pressione CTRL+v (tecla Control e tecla v).

Para fazer uma cópia do arquivo aberto, para um novo arquivo, digite

:w <novo nome do arquivo>
Enter fullscreen mode Exit fullscreen mode
  • digite o novo nome para o arquivo sem os sinais < e >.

copiando todo conteúdo do arquivo para um novo

Top comments (1)

Collapse
voyeg3r profile image
Sérgio Araújo

Seguem algumas contribuições de um usuário um tanto viciado no vim, caso curtam os adendos basta dar uma fuçada no meu perfil em "voyeg3r" aqui mesmo no dev.to

Eu tenho aprendido coisas bem inusitadas no vim. Se por exemplo acho uma função na web e quero testa-la, basta fazer

:@+
Enter fullscreen mode Exit fullscreen mode

Digamos que a função tem o nome "DelDuplicatedLines()", posso simplesmente fazer:

:call DelDuplicatedLines()
Enter fullscreen mode Exit fullscreen mode

Desse modo posso terstar funções sem mesmo gravalas no meu vimrc/init.lua

Quando consigo elaborar um comando complicado tipo "apagar o último parágrafo de todos os arquivos abertos:

:silent! noautocmd argdo :normal Gdap
Enter fullscreen mode Exit fullscreen mode

Eu posso copiar o comando recem executado para a área de transferência com:

:let @+=@:
Enter fullscreen mode Exit fullscreen mode

Às vezes pego transcrições de séries para estudar o Inglês, e para copiar de uma marca "a" até uma marca "b" para o clipboard faço:

:'a,'b y+
Enter fullscreen mode Exit fullscreen mode

E para colar o conteúdo da área de transferência sem a necessidade do "pastetoggle":

inoremap <C-r>+  <C-r><C-o>+
inoremap <S-Insert>  <C-r><C-o>+
Enter fullscreen mode Exit fullscreen mode

Para os usuários do vim tradicional o plugin machakann/vim-highlightedyank faz a região copiada dar uma piscada de modo a lhe dar um feedback do que foi copiado. No caso do neovim um autocomando resolve:

augroup highlight_yank
    autocmd!
    au TextYankPost * silent! lua vim.highlight.on_yank{higroup="IncSearch", timeout=700}
augroup END
Enter fullscreen mode Exit fullscreen mode

Espero de algum modo ter enrriquecido a discusão e passo a seguir o seu perfil doravante!

🌚 Life is too short to browse without dark mode