Como habilitar e gerenciar o acesso à área de transferência no Vim no Linux

Vim é um editor de texto poderoso que muitos programadores e escritores usam por causa de suas funcionalidades e eficiência. Uma funcionalidade útil é a capacidade de acessar e compartilhar conteúdo da área de transferência entre múltiplas instâncias de Vim.

Neste artigo, vamos explorar como habilitar o acesso à área de transferência em Vim e gerenciar eficientemente o conteúdo da área de transferência a partir do terminal Linux.

O que é o Acesso à Área de Transferência em Vim?

O acesso à área de transferência em Vim permite que você copie e cole texto entre diferentes instâncias de Vim ou até mesmo entre Vim e outras aplicações. Por padrão, o Vim pode não ter acesso à área de transferência do sistema, portanto, você precisará fazer algumas mudanças para habilitar essa funcionalidade.

Existem, em geral, duas áreas de transferência em sistemas Linux:

  • Área de Transferência Primária: Esta é a área de transferência padrão que salva automaticamente o texto selecionado. Você pode colar usando o botão do meio do mouse.
  • Área de Transferência (Área de Transferência X11): Esta área de transferência é usada por aplicações gráficas na maioria das vezes, e você acessa normalmente usando atalhos de teclado, como Ctrl + C para copiar e Ctrl + V para colar.

Verificando o Suporte à Área de Transferência em Vim

Primeiro, certifique-se de que você tenha uma versão do Vim que suporta o acesso à área de transferência.

vim --version | grep clipboard
Check Vim Clipboard Support

Se você ver +clipboard, isso significa que o Vim tem suporte á área de transferência. Se você ver -clipboard, você precisará instalar uma versão do Vim com suporte á área de transferência, como vim-gtk, vim-gnome, ou vim-athena.

Instalando o Vim com Suporte à Área de Transferência

Se você precisar instalar uma versão com suporte à área de transferência, você pode usar o seguinte comando apropriado para sua distribuição Linux específica.

sudo apt install vim-gtk3        [On Debian, Ubuntu and Mint]
sudo dnf install vim-X11         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add vim                 [On Alpine Linux]
sudo pacman -S gvim              [On Arch Linux]
sudo zypper install vim-X11      [On OpenSUSE]    
sudo pkg install vim             [On FreeBSD]

Usando a Área de Transferência no Vim

Uma vez que você tenha a versão correta do Vim instalada, você pode usar a área de transferência no Vim seguindo estes passos:

Copiando para a Área de Transferência

Para copiar texto do Vim para a área de transferência do sistema, use o seguinte comando:

  • Modo Visual: Entre no modo visual pressionando v (para seleção de caracteres) ou V (para seleção de linhas).
  • Selecionar Texto: Use as setas ou h, j, k, l para selecionar o texto que você quer copiar.
  • Copiar para a Área de Transferência: Pressione “+y (aspas duplas seguidas por um sinal de mais e y para yank).

Colar da Área de Transferência

Para colar texto da área de transferência para o Vim, use o seguinte comando:

  • Coloque o cursor onde você quer inserir o texto.
  • Pressione “+p (aspas duplas seguidas por um sinal de mais e p para colar).

Aqui está um exemplo simples para ilustrar como copiar e colar:

1. Abra uma nova instância do Vim:

vim file1.txt

2. No arquivo file1.txt, digite algum texto:

Hello, this is Vim.

3. Selecione o texto com v e use “+y” para copiá-lo.

4. Abra outra instância do Vim com um arquivo diferente:

vim file2.txt

5. Coloque o cursor em file2.txt e pressione “+p” para colar o texto copiado.

Usando a área de transferência do sistema com múltiplas instâncias do Vim

Você pode usar a área de transferência do sistema para compartilhar texto entre diferentes instâncias do Vim e outras aplicações.

Acessando conteúdo da área de transferência a partir do terminal

Você pode acessar o conteúdo da área de transferência a partir do terminal usando comandos como xclip ou xsel.

sudo apt install xclip         [On Debian, Ubuntu and Mint]
sudo yum install xclip         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add xclip             [On Alpine Linux]
sudo pacman -S xclip           [On Arch Linux]
sudo zypper install xclip      [On OpenSUSE]    
sudo pkg install xclip         [On FreeBSD]

Copiando para a área de transferência via terminal

Você pode copiar o conteúdo de um arquivo para a área de transferência diretamente do terminal:

cat filename.txt | xclip -selection clipboard

Colando de área de transferência via terminal

Para colar o conteúdo da área de transferência em um arquivo, você pode usar:

xclip -selection clipboard -o > filename.txt
Conclusão

Acessar conteúdo da área de transferência em múltiplas instâncias de Vim é uma funcionalidade valiosa que pode melhorar sua produtividade. Ativando o suporte à área de transferência no Vim e usando os comandos certos, você pode facilmente copiar e colar texto entre diferentes arquivos e aplicações.

Com ferramentas adicionais como xclip, você pode gerenciar o conteúdo da área de transferência diretamente a partir do terminal. Agora você pode trabalhar com Vim de forma mais eficiente e aproveitar ao máximo suas funcionalidades poderosas!

Source:
https://www.tecmint.com/enable-clipboard-in-vim/