VIM Editor básico no Linux

VIM Editor básico no Linux

O VIM não precisa de apresentações: é provavelmente o editor de texto mais amado pelos administradores de sistemas, também devido ao fato de ser um clone e uma melhoria do VI original, que é incluído por padrão em praticamente todos os sistemas operacionais baseados em Linux e Unix. O VIM pode ser bastante intimidador a princípio, e tem uma curva acentuada de aprendizado; Aprender a usá -lo, no entanto, pode realmente aumentar nossa produtividade. Neste artigo, aprenderemos o básico do Vim.

Neste tutorial, você aprenderá:

  • Como instalar o vim
  • Por que o Vim é um editor de texto "modal" e quais são os modos Vim
  • Como ajustar o vim parecer e sentir usando o ~/.Vimrc arquivo de configuração

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Distribuição Independente
Programas vim
Outro Nenhum outro requisito necessário
Convenções # - requer que os comandos linux -comidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular

Instalação

Você pode ter certeza de que o VIM, se não estiver instalado por padrão, está disponível em seus repositórios de distribuição favoritos, portanto, para instalá -lo, tudo o que você precisa fazer é usar seu gerenciador de pacotes favorito. Em Debian e Debian baseado
distribuições, entre outras, podemos usar apt-get:

$ sudo apt-get update && sudo apt-get install vim 

No Fedora, e mais geralmente em toda a família Red Hat of Distribuições, podemos usar o DNF Gerenciador de pacotes para executar a tarefa:

$ sudo dnf install vim 

Correndo no Arch Linux? Nesse caso, uma vez que o vim está incluído no Extra Repositório, instalá -lo é apenas uma questão de executar o seguinte comando:

$ sudo pacman -s vim 

Um editor de texto "modal"

Você descobrirá que o VIM é bem diferente dos editores de texto para os quais você pode estar acostumado; isso é porque é um modal editor de texto. O que isso significa? O VIM tem vários modos de trabalho diferentes:

  • Modo normal
  • Modo de inserção
  • Modo visual
  • Modo de comando

Vamos vê -los em breve.

Modo normal

O normal modo é o padrão. Quando em normal modo, podemos navegar facilmente e fazer alterações em um documento. Vamos ver alguns exemplos. Suponha que tenhamos o seguinte texto aberto no editor:

Como você pode ver, o cursor está posicionado no início da primeira linha. Suponha que queremos movê -lo no início da segunda palavra ("anéis" neste caso). Tudo o que precisamos fazer é pressionar o c chave (abreviação de palavras); Isso avançará (para a direita) para o início de uma palavra:



O movimento "inverso" é obtido pressionando o b Chave - esta ação moverá o cursor para o início da palavra anterior.

E se quisermos repetir o movimento x número de vezes? Tudo o que precisamos fazer é inserir o número de movimentos que queremos realizar, antes de pressionar a tecla correspondente ao movimento que queremos fazer. Por exemplo, para mover o cursor duas palavras para a frente, pressionaríamos 2W. Supondo que o cursor esteja atualmente na palavra "anéis" na primeira linha, obteríamos este resultado:

Para mover o cursor para o início da linha atual, podemos pressionar o 0 chave; o $ a chave nos permitirá obter o efeito oposto, para que o cursor seja movido para o fim da linha.

Para mudar para a última linha de um documento aberto, podemos pressionar G, Enquanto para mudar para a primeira linha, podemos pressionar gg.

Os acima são apenas alguns exemplos de como podemos navegar facilmente pelo documento quando em normal modo. Na tabela abaixo, podemos ver um pequeno número de chaves que podemos querer lembrar e seu efeito:

CHAVE EFEITO
h Mova o cursor para a esquerda
j Mova o cursor para baixo
k Mova o cursor para cima
eu Mova o cursor para a direita
c Avance para o início de uma palavra
C Avance para o início de uma palavra (pontuação considerada como parte da palavra)
b Mova para trás para o início de uma palavra
B Mova para trás para o início de uma palavra (pontuação considerada como parte da palavra)
e Avance para o final de uma palavra
E Avance para o final de uma palavra (pontuação considerada como parte da palavra)
0 Mova para o início da linha
$ Mova -se para o final da linha
gg Mova para a primeira linha do documento
G Mova para a última linha do documento
f char Vá para a primeira ocorrência do personagem especificado
A Mova o final da linha e entre "Modo de inserção"

Quando em normal Modo não estamos limitados a executar apenas movimentos, também existem operadores que vamos executar algumas ações, como, por exemplo d (excluir) ou c (mudar). Esses operadores, combinados com movimentos, vamos realizar ações de massa.

Vamos ver um exemplo: sabemos que o c A chave move o cursor para o início da próxima palavra; Se combinarmos com o d Operador, podemos excluir uma palavra inteira com apenas um comando. Supondo que o cursor esteja no início da primeira linha do nosso texto, se pressionarmos dw obteríamos o seguinte resultado:

Como você pode ver, a primeira palavra da linha ("três") foi removida. Da mesma maneira, poderíamos excluir o texto da posição atual do cursor até o final da linha, pressionando d $, e assim por diante.

O modo "inserir" (e "substituir")

O inserir O modo é praticamente o modo de trabalho padrão de todos os editores de texto mais comuns. Quando neste modo, podemos inserir texto como normalmente faríamos com outros editores. Como entramos neste modo? Ao trabalhar em normal Modo, podemos, por exemplo, pressionar uma das seguintes chaves:

CHAVE EFEITO
eu Insira o texto antes do cursor
EU Insira o texto no início da linha
a Insira o texto após o cursor
A Anexar o texto no final de uma linha


Como realizar o processo inverso e mudar de inserir para normal modo? Tudo o que precisamos fazer é pressionar o chave ou .

O substituir o modo é realmente semelhante a inserir modo, a única diferença é que o texto que inserimos substitui um existente em vez de estender o comprimento da linha. Nós podemos entrar substituir modo usando o R quando em
normal modo.

O modo "visual"

Quando no modo "visual", podemos selecionar uma parte do texto e executar algumas operações. O modo visual pode funcionar em três níveis diferentes:

  • Personagem
  • Linha
  • Bloquear

Para entrar "em todo o personagem" visual modo, quando em normal Modo podemos pressionar o v chave; Para ativar o modo virtual "em vez de linhas", em vez disso, podemos usar V (maiúsculas). Finalmente, para entrar no modo visual “em bloqueio”, podemos pressionar .

VIM Linha visual

Na figura acima, você pode ver como o editor se parece, quando o modo visual "em termos de linha" é ativado. As mesmas chaves que discutimos acima podem ser usadas para alternar entre os modos visuais; Além disso, se já estivermos em um modo visual específico, e pressionamos a tecla que a ativa, voltaremos a normal modo:

Modo visual atual Chave Efeito
em termos de personagem v Mudar para o modo normal
em termos de personagem V Mudar para o modo visual em termos de linha
em termos de personagem \ Mudar para o modo visual em bloqueio
em termos de linha v Mudar para o modo visual em termos de personagem
em termos de linha V Mudar para o modo normal
em termos de linha \ Mudar para o modo visual em bloqueio
em termos de bloco v Mudar para o modo visual em termos de personagem
em termos de bloco V Mudar para o modo visual em termos de linha
em termos de bloco \ Mudar para o modo normal

As chaves de movimento que vimos no modo normal também podem ser usadas em modo visual. Por exemplo, quando estamos trabalhando no modo visual em termos de personagem, e queremos selecionar de um determinado ponto para a primeira ocorrência de uma letra que podemos usar
f char.

Quando uma parte do texto é selecionada, podemos, por exemplo, cortá -lo pressionando o d palavra -chave, ou copiá -la usando y.

O “modo de linha de comando”

Para entrar no modo de linha de comando Podemos pressionar o : chave ou / Para iniciar uma pesquisa de texto quando no modo normal. Quando estamos nesse modo, podemos inserir comandos para serem executados depois que pressionamos (a tecla 'Return'). Um dos comando mais simples que podemos executar quando estiver modo de linha de comando é:

:ajuda 

Quando o comando for executado, um novo buffer será aberto mostrando a página de ajuda principal do VIM:

A página de ajuda Vim nas versões recentes do VIM, podemos usar o terminal comando para abrir um emulador de terminal diretamente no editor de texto:
:terminal 

O resultado da execução do comando é:

O terminal de incorporação do VIM

Como já dissemos, para realizar uma pesquisa de texto, podemos pressionar / e digite o texto que queremos encontrar no documento. Por padrão, a pesquisa é sensível ao caso (isso pode ser modificado através do arquivo de configuração do VIM usando o defina ignorecase diretivo). Como exemplo, suponha que queremos encontrar a palavra "anel" no texto do nosso exemplo. Escrevemos o seguinte comando pressionando "Enter":

/Anel 

Para percorrer os resultados destacados, podemos pressionar n, e para remover o destaque das palavras, podemos executar o Noh comando:

: noh 

Podemos usar modo de linha de comando Também para executar a substituição de texto. Suponha que, por exemplo, queremos substituir todas as ocorrências de "anel" por "jóia". O que faríamos, neste caso é usar o substituto comando: s. O
O comando que precisaríamos correr é:

:%s/anel/jóia/g 

O % Símbolo que usamos antes do comando fazer para que a operação seja realizada em todo o documento, enquanto o g anexado após a substituição é usado para realizar a substituição em todas as ocorrências encontradas em uma linha (vs apenas a primeira).

Quando usamos o substituto comando também podemos usar outros "modificadores". Por exemplo, se acrescentarmos um c Após o padrão de substituição, seremos solicitados a confirmar cada substituição; eu, Em vez disso, fará a substituição Isensível ao caso.

A faixa de ação de um comando pode ser restrita a algumas linhas específicas. Para executar a substituição de texto apenas em linhas do primeiro ao sexto (inclusivo) do documento, escreveríamos:

: 1,6s/anel/jóia/g 

O mesmo intervalo pode ser usado, por exemplo, com o d (Excluir) comando, para excluir as linhas acima mencionadas:

: 1,6d 

Quando em comando modo de linha, também podemos invocar externo Programas no shell: tudo o que precisamos fazer é adquirir tais comandos com o ! símbolo. Por exemplo, para dar uma olhada nos arquivos (não ocultos) no diretório de trabalho atual, poderíamos usar o ls -l comando:

:!ls -l 

Obteríamos o seguinte resultado:

Total 36 DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 de outubro 12:45 DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 de outubro 12:45 Documentos DRWXR-XR-X. 2 EGDOC EGDOC 4096 2 10:37 Downloads -rw-r--r--. 1 EGDOC EGDOC 373 3 de novembro 11:30 LOTR.txt drwxr-xr-x. 2 EGDOC EGDOC 4096 31 de outubro 12:45 Música drwxr-xr-x. 2 EGDOC EGDOC 4096 4 de novembro 08:19 fotos drwxr-xr-x. 2 EGDOC EGDOC 4096 31 de outubro 12:45 Public drwxr-xr-x. 2 EGDOC EGDOC 4096 31 de outubro 12:45 Modelos DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 de outubro 12:45 Vídeos Pressione o comando Enter ou digite para continuar 

Conforme sugerido pela mensagem, para retornar ao editor, devemos pressionar DIGITAR. Estes são apenas poucos exemplos básicos dos comandos que podemos usar no vim.

Personalizando Vim

Vim Look and Feel pode ser personalizado por meio de seu arquivo de configuração: ~/.Vimrc. Por padrão, a interface do editor é realmente mínima: nem os números de linha são exibidos! Que essa seja a primeira coisa que mudaremos.

Exibindo números de linha

Abrimos o arquivo de configuração e colamos a seguinte diretiva nele:

Número definido 

Normalmente, para ver o efeito das mudanças que fazemos, devemos fechar e reabrir o VIM; Nós podemos, no entanto, também emitir o : então ~///.Vimrc comando para obter o arquivo de configuração e fazer as alterações imediatamente efetivas. Devido ao
Diretiva que usamos, os números de linha agora são exibidos:

Destaque uma coluna e comprimento da linha limite

Outro recurso comum que queremos usar, especialmente ao escrever código, é destacar uma determinada coluna. Ao escrever um programa python ou um script de shell, por exemplo, geralmente não queremos exceder o 80 coluna; Para destacar a coluna, devemos adicionar a seguinte diretiva ao arquivo de configuração:

Definir colorcolumn = 80 

Na imagem abaixo, você pode ver o resultado da mudança. A coluna que especificamos agora está destacada:

Se realmente queremos aplicar uma regra sobre o número máximo de caráter que pode ser inserido em uma linha, temos que usar o TEXTWIDTH Diretiva em vez disso:

Definir largura de texto = 79 

Devido à mudança acima, se uma nova palavra não se encaixar no número especificado de caracteres, ela será automaticamente inserida em uma nova linha.

Use espaços em vez de guias

Outra mudança bastante comum que queremos realizar é usar um certo número de espaços no lugar de um ABA personagem quando a tecla correspondente é pressionada no teclado. Para alcançar a configuração desejada, queremos usar as seguintes diretivas:

Definir tabstop = 2 Definir softtabstop = 2 set expandtab Set ShiftWidth = 2 

Na configuração acima, definimos o Parada de tabulação diretiva para definir o tamanho de um "real" ABA personagem. O softtabstop, A diretiva, em vez disso, é usada para especificar o número de espaços que devem ser usados ​​para substituir um ABA quando o expandttab Diretiva é usada. Nesse caso, cada vez que pressionamos o Aba Chave no teclado, o Vim inserirá a quantidade de espaços com os quais especificamos softtabstop. finalmente, o ShiftWidth A opção é usada para especificar o nível de indentação usado para indentação automática e para os comandos de turno.

Configurações específicas do FileType

E se quisermos especificar algumas configurações a serem aplicadas apenas a um tipo específico de arquivos? Nesse caso, devemos ativar o embutido plug -in FileType. Para fazer isso, anexamos a seguinte linha ao arquivo de configuração:

FileType Plugin ligado 

Neste ponto, dentro do ~/.vim/depois/ftplugin Diretório (precisamos criá -lo se ainda não existir), devemos criar um arquivo com o nome do FileType para o qual queremos especificar configurações e usar o “.Extensão vim ”.

Por exemplo, para especificar configurações para arquivos python, criaríamos o ~/.vim/depois/ftplugin/python.vim Arquive e coloque nossas instruções dentro dele. A única coisa recomendada é usar o setLocal instrução no arquivo em vez de definir, Para tornar as alterações válidas apenas para o buffer aberto, e não global. Diga, por exemplo, queremos substituir um ABA personagem com 4 Espaços apenas em scripts de Python. No ~/.vim/depois/ftplugin/python.vim Arquivo que escrevíamos:

setLocal softtabstop = 4 setlocal shiftwidth = 4 

O que usamos aqui é apenas um subconjunto muito pequeno das opções que podemos usar no arquivo de configuração do VIM para ajustar a aparência do editor; O que queremos mostrar aqui é o mecanismo básico.

Conclusões

Neste artigo, começamos nossa primeira abordagem com o que é provavelmente o editor de texto mais famoso e amado em plataformas baseadas em Linux e Unix: vim. Vimos como o VIM foi criado como um clone do original Vi editor, instalado por padrão em quase todas as distribuições, vimos por que é chamado de modal editor de texto e quais são os modos que podemos usar.

Finalmente, vimos como ajustar a aparência do editor, escrevendo diretivas no ~/.Vimrc arquivo de configuração. Mal arranhamos a superfície do que podemos realizar usando o VIM, pois isso foi feito como um guia de primeira etapa no mundo vim. Falaremos sobre recursos específicos mais profundos em futuros tutoriais. Fique atento!

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como clonar um sistema Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Mastering Bash Script Loops
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Partição de clone no Linux
  • Download do Linux
  • Loging e auditoria avançados no Linux
  • Como fazer bota dupla kali linux e windows 10