Vim Basics Tutorial

Vim Basics Tutorial
Se você está usando o Linux por algum tempo, é seguro assumir que você está familiarizado com os editores de texto. Um editor de texto nada mais é do que uma ferramenta capaz de editar texto. Todos nós temos uma ideia do que é um arquivo de texto, certo? No entanto, os editores de texto também podem ser usados ​​para editar arquivos sem texto como texto!

Não é uma coisa ideal, embora. Os editores de texto devem editar arquivos como se fossem um arquivo de texto. É por isso que quando eu disse a "nano" para abrir o arquivo jpg, ele abriu "como se" é um arquivo de texto. Uma coisa semelhante acontecerá se você estiver tentando abrir outros arquivos, por exemplo, áudio, vídeo e até arquivos binários.

Editor de texto Vim

Agora, existem 2 tipos de editores de texto disponíveis na plataforma Linux: GUI e Console.

Os editores de texto da GUI são os mais populares entre os usuários em geral. Alguns dos populares incluem GEDIT, GNU EMACS, Atom, Suportes, texto sublime, código do Visual Studio e outros.

Quando estamos falando sobre os editores de texto do console, o verdadeiro desafio surge. Usar os editores de texto do console não são apenas difíceis, mas desafiadores. Claro, se você clicou neste guia, já está familiarizado com eles. Os editores de texto do console popular incluem Nano e Vim.

Como o título do artigo sugere, este guia está no vim - um dos editores de texto mais difíceis do console. Vim é na verdade o editor de texto "vi" com recursos adicionais e ajustes. Meu objetivo é oferecer uma introdução básica e detalhada e exemplos de uso de vim.

Guia vim

Para este guia, usarei exemplos de código C ++. Confira os códigos C ++ da Sinairv no GitHub.

Instalação do VIM

Na maioria dos distritos do Linux, o VIM vem pré-instalado com Nano e/ou Emacs. Não importa qualquer distribuição do Linux que você esteja usando, o vim estará sempre disponível no repo oficial como vi é exigido por Posix.

Debian/Ubuntu: sudo apt-get update && sudo apt install vim
Fedora: sudo dnf update && sudo dnf install vim
OpenSuse: Sudo Zypper Update && Sudo Zypper Install Vim
Red Hat Basey Distros: sudo yum update && sudo yum install vim
Distrões baseados em arco/arco: sudo pacman -sy && sudo pacman -s vim

Lançando Vim

Quando a instalação estiver concluída, verifique a existência de vim.

vim vim --versões

Se você estiver interessado em usar o VIM para editar um arquivo de texto, use a seguinte estrutura.

vim

Parando vim

Esta é a primeira coisa que tive que aprender enquanto uso Vim. Há muitas vezes quando eu estraguei tudo. Aprendendo a sair do Vim me salvou inúmeras vezes.

Tipo “: q” e hit Enter (sem cotações).

Nota: Vim não deixará você sair sem esse método. "Ctrl + C" não funciona.

Navegando pelo arquivo

Vim oferece um conjunto realmente complicado de maneiras que você pode usar para navegar no arquivo de texto.

Vamos voltar ao arquivo de texto. Desta vez, estamos no ReadMe.arquivo md.

A maneira mais fácil de navegar pelo arquivo é usando as teclas de seta.

O VIM permite o uso de outras chaves para navegar no arquivo como as teclas de seta.

H - um personagem à esquerda

L - um personagem à direita

k - suba

J - desça

W - uma palavra à direita

B - Uma palavra à esquerda

0 (zero) - Início da linha atual

$ - Fim da linha atual

Nota: tenha cuidado com o caso das chaves.

Editando o arquivo

essa é a parte importante. Estamos abrindo os arquivos de texto no editor para executar algumas edições, certo?

Navegue para o lugar desejado no texto e aterre “eu”. Isso dirá a Vim para entrar no "modo de inserção".

Depois de fazer as edições necessárias, você pode sair do modo "Inserir" pressionando "Ctrl + C" ou ESC. Minha preferência pessoal é usar a chave ESC.

Salvando o arquivo

Antes de salvar o arquivo, é necessário entender como o vim lida com o trabalho.

Quando você abriu um arquivo de texto com VIM, você está realmente acessando uma cópia temporária do arquivo original. Se você estiver satisfeito com suas alterações e decidir salvar, somente então o VIM escreverá o arquivo editado sobre o arquivo original.

Existem benefícios para esta abordagem. Impede o arquivo original da corrupção indesejada. O VIM permite que vários usuários editem o mesmo arquivo ao mesmo tempo; portanto, usar um arquivo temporário ajuda a evitar conflitos. Vim salva o arquivo temp para que você possa recuperar seu trabalho se houver algumas interrupções.

Para escrever o buffer no arquivo, digite “: w”.

Também é possível combinar o comando de gravação com o desativado.

: wq

Isso escreverá o buffer para o arquivo e sairá do editor.

Outro recurso interessante que o Vim oferece é escrever o buffer atual no final de outro arquivo. Em resumo, você pode anexar a edição atual a outro arquivo.

: w >>

Este comando também pode ser emparelhado com o comando Quit.

: wq >>

Às vezes, você pode apenas descartar o buffer atual e começar do zero. Eu estraguei os sudoers várias vezes, especialmente com vim. Este método apenas me salvou muitas dores de cabeça. Diga a Vim para sair sem escrever o buffer para o arquivo.

: q!

Procurando

Como um software lendário, seria uma pena se não houvesse funções de pesquisa! Usando o vim, é fácil descobrir onde está sua frase alvo. Esta é a estrutura que o vim exige para executar a função de pesquisa.

?

Observe que não há lacuna entre o ponto de interrogação e a sequência de pesquisa. Depois de digitar o termo de pesquisa, pressione Enter.

Agora, quando você executa isso, você está preso com o único resultado de pesquisa. Isso é aceitável? Não! Diga a Vim para navegar para as correspondências de pesquisa anterior/seguinte!

n - Encontre a próxima partida
N - Encontre a partida anterior

Inserindo dados de uma fonte externa

É outra técnica interessante que pode ser útil em muitos cenários. Você pode pegar diretamente a saída de um determinado comando e inserir no local certo de um arquivo.

: r!

Por exemplo, vamos inserir a saída de um comando Pacman. Aprenda a usar o Pacman no Arch Linux e outras distribuições baseadas em arco.

: r! Echo $ (Pacman -QQE Python | Grep Python)

Esta estrutura de comando oferece um monte de uso possível. Por exemplo, que tal inserir o conteúdo de outro arquivo?

: r! gato

Se você precisar de obter especificamente o conteúdo de um determinado texto, não há necessidade de chamar o comando "gato". Vim já oferece uma maneira mais fácil de fazer isso.

: r

VIM Customizations

Vim é extremamente personalizável. Existem muitas maneiras de improvisar a funcionalidade deste editor de texto. O VIM permite muita personalização através do arquivo VIMRC.

Existem alguns locais diferentes para o VIMRC - global e local. O global está localizado em "/etc/vim/vimrc" ou "/etc/vimrc".

Para o arquivo VIMRC local, ele estará localizado em “~//.arquivo vimrc ”.

Antes de editar o VIMRC, é necessário entender o escopo de ambos. O VIMRC global (localizado em "/etc/vimrc" ou "etc/vim/vimrc") afeta todas as sessões do VIM em todas as contas de usuário. No entanto, no caso do VIMRC local (localizado em “~//.vimrc), só entrará em vigor na respectiva sessão do usuário.

Aqui está uma pequena lista de configurações úteis do VIMRC.

“Número da linha à esquerda
Número definido
“Tamanho da guia padrão
Definir tabstop = 4
“Habilite o destaque da sintaxe
Sintaxe ON
“Enrole o texto
Defina o envoltório
“Codificação padrão
set coding = utf-8

Se você conseguir editar o arquivo VIMRC enquanto o VIM estiver em execução, as alterações não causam efeito imediatamente. Diga a Vim para recarregar a configuração do VIMRC.

:então %

Substituindo o conteúdo

O VIM não se limita aos recursos de pesquisa básica. O VIM permite o comando do tipo sed para executar a operação de substituição.

A sintaxe do comando é algo assim:

:%s ///

No comportamento de substituição, esses 2 são bastante comuns.

G - Execute a substituição em todas as ocorrências da string de pesquisa.

gc - o mesmo que "g", mas pedirá confirmação antes de fazer a mudança.

Vamos verificar o uso com um exemplo. Eu tenho a lista de todos os pacotes do grupo "base-devel" em um arquivo de texto.

Agora, vamos substituir todo o "núcleo" por string "coremodificado".

:%s/núcleo/coremodificado/g

Contagem de ocorrência

Assim como o exemplo anterior, também é possível destacar e contar apenas a ocorrência da sequência de pesquisa em vez de substituí -la. Esta é melhor do que a função de pesquisa clássica.

A sintaxe para a operação seria

:%s/Observe a parte "GN"? É responsável por substituir o comportamento substituto.

VIM Plugins

Apesar de ser um editor de texto do console, o VIM oferece estender sua funcionalidade por meio de plugins. De fato, o número de plugins disponíveis para Vim é enorme! A comunidade Vim é definitivamente um lugar de gênios insanos!

Você pode configurar qualquer diretório para hospedar os plugins. No entanto, é recomendável usar o seguinte.

~/.vim

Diferentes plugins VIM requerem procedimentos diferentes. Para um uso mais fácil, há também um punhado de gerentes de plug -in do VIM! Por exemplo, Vundle, Vimplug, Pathogen, etc. Se você estiver interessado em pegar um novo plugin Vim, eu recomendo Vimawesome. É uma grande coleção de todos os plugins populares e interessantes do VIM.

Pensamentos finais

Dominar o vim requer um pouco de trabalho. Estes são apenas o básico. Espero que este post tenha sido útil para familiarizá -lo com o VIM e alguns de seus princípios básicos. Sinta -se à vontade para explorar o mundo de Vim.

Pratique suas habilidades VIM em um arquivo de demonstração. Dessa forma, mesmo que você estrague o arquivo, não é grande coisa. Se você estragar a configuração do VIM, nada para entrar em pânico. Os arquivos de configuração VIM padrão estão disponíveis online.