Você está logado
dentro do terminal
e, de repente,
tem a necessidade
de fazer alterações
nos arquivos de texto.
Todas as vezes
que precisar fazer isso,
a gente tem a necessidade
de utilizar um editor de texto.
O Linux possui diversos
editores de texto,
entre eles nós temos
o VIM, o Emacs, o NANO
e uma série de outros que você pode
utilizar tanto no terminal Shell
como através
da interface gráfica.
Eu vou mostrar para vocês hoje
o editor de texto VIM,
um dos editores
mais utilizados
dentro das operações de edição
de arquivos de configuração,
criação de programas,
criação de scripts
em ambientes Linux.
O que é o VIM?
O VIM é um dos maiores editores
de textos existente hoje no Linux.
Ele tem o poder
de identificar diretamente
o tipo de arquivo
através da sua extensão.
Ele permite você ter
agilidade, velocidade
e conseguir desenvolver
programas e scripts
e alterar conteúdo de arquivos
de forma muito fácil e rápida.
Ele é um dos editores
mais requeridos
dentre as certificações
internacionais de Linux,
e, também, ele é o editor
que permite
você criar diversas
configurações personalizadas
na hora de fazer o uso
e operar o VIM.
Imagine o seguinte:
você está logado dentro do sistema
e precisa alterar um arquivo.
Nós não temos a interface gráfica
dentro do Linux,
nós não temos
como clicar em um mouse
e abrir um arquivo
e editá-lo, por exemplo,
num bloco de notas
ou no Word.
O que você tem é a necessidade
de usar um editor
que funcione
no ambiente Shell.
E o VIM, certamente, vai ser
uma das melhores escolhas
que você vai fazer.
Existem dois tipos
básicos de uso do VIM:
podemos utilizar o VIM,
que é o VI, apenas,
que é o VI puro,
ou você pode utilizar o VIM
utilizando uma máscara melhorada,
que é o VIM,
que significa "VI melhorado",
do português, ou "VI Improved".
Para a gente poder entender
um pouco mais do VI ou VIM,
nós vamos usá-lo
via linha de comando.
Aqui no terminal,
Eu vou executar o comando "vi"
e vou dar um enter.
Por padrão, quando executo
o comando "vi",
ele traz para mim um arquivo
sem nenhum tipo de informação,
sem nenhum nome.
Aqui, nós vemos
a configuração do VI,
ele traz até mesmo
o nome "VI Improved",
mas a máscara melhorada ainda
não está aplicada no VI padrão.
O VI padrão do Debian
é chamado de "VI Tiny",
significa que alguns comandos
não vão funcionar
como funcionam
nos editores de texto comuns.
Exemplo:
se você quiser apagar
o conteúdo de um arquivo,
você, geralmente,
pressiona backspace.
O backspace não funciona aqui,
dentro do VIM.
Se você quiser descer
nas linhas de um arquivo,
você usa, geralmente,
seta para baixo e seta para cima.
A seta para baixo e a seta para cima
não funcionam dentro do VI Tiny.
Para que esses comandos
funcionem dentro do VIM,
você precisa instalar a máscara
chamada "Environment",
que, aí, você traz
as melhorias para o VIM.
Vamos aprender, então,
a utilizar o VI Tiny,
que é o VI Puro,
o VIM padrão do Debian
e da maioria das distribuições Linux.
Aqui dentro do VIM, eu tenho
algumas informações importantes.
Todas as vezes
que nós entramos no VIM,
ele, por padrão, usa
o "modo comando".
O VIM tem dois módulos
de operações principais:
um é o "modo comando",
que pode ser acionado
pela tecla ESC do seu teclado,
e o outro é
o "modo de inserção",
que podem ser acionados
pelas teclas I, Insert, A ou O.
Falaremos disso depois.
Aqui, eu já entrei
no modo comando.
Isso significa
que eu posso imputar
uma série de comandos
para esse editor.
E quais seriam
esses comandos?
Por exemplo,
eu posso salvar um arquivo
e o VI entende
que é um comando.
Eu posso substituir um caractere
aqui dentro
e ele vai entender
que é um comando.
Eu posso, por exemplo,
sair do próprio VI
e ele vai entender
que é um comando.
Eu posso copiar uma linha,
deletar uma linha inteira,
copiar uma palavra,
deletar uma palavra,
tudo isso ele entende
que são comandos para o VI.
Então, se eu não estiver
no modo de inserção,
que é o modo o qual eu
imputo os dados,
eu insiro dados
dentro do arquivo,
eu posso estar
no modo de comando.
Existem outros
modos do VIM?
Existem.
Mas esses são
os modos principais.
Uma vez aqui dentro, eu tenho
algumas informações importantes.
Ele diz para mim:
"pressione :q + enter
para eu sair desse arquivo".
":help" e o tipo de informação
que eu quero para procurar ajuda.
Eu tenho aqui,
por exemplo,
para não citar
as informações por padrão.
Então, todas as vezes que eu quiser
usar as opções de comando do VIM,
eu tenho que usar
os dois pontos.
Então, a ordem é tecla ESC, no canto
superior esquerdo do seu teclado,
dois pontos,
perceba que ele escreveu
os dois pontos aqui embaixo,
e o comando
que eu quero.
Vamos imaginar que eu
queira sair desse arquivo.
"Q" de quit.
Pronto, eu voltei
para o terminal.
Um detalhe importante é que toda
vez que eu abro um arquivo,
simplesmente passando o VI,
ele não tem nome.
Ele é um arquivo
totalmente inexistente.
Existe um buffer.
O que é um buffer?
Basicamente é um ambiente
que o VI vai armazenar
tudo aquilo que eu fizer
em memória dentro do ambiente,
mas ele não vai gravar
nada no disco.
Depois, ele vai
despejar tudo isso
dentro do seu HD,
caso você salve esse arquivo.
Ok, vamos voltar aqui
para o editor.
"vi" e enter.
Perceba que se eu der
um I de inserir,
ele não fez nada.
Por quê?
Porque eu estou usando
o VI Tiny, o VI padrão.
Esse VI não é muito amigável
e vocês vão ter, certamente,
grande dificuldade
para poder operá-lo.
Então, o que é
recomendado?
Que a gente
instale o VIM,
que traz uma máscara
chamada "Runtime",
que, automaticamente,
incompatibiliza o VIM
com vários
outros editores.
Então, passará a funcionar seta
para baixo para descer no arquivo,
seta para cima
para subir,
seta para a esquerda
para ir à esquerda,
seta para direita
para ir à direita,
backspace para apagar
e uma série de outras teclas
funcionarão como funcionam,
por exemplo, no Word,
que é outro editor de arquivos,
no bloco de notas
e assim por diante.
Eu vou sair de dentro
do editor agora,
vou instalar essa máscara
para que a gente possa ter
um pouco mais de flexibilidade
nas operações dentro do VIM.
"ESC :q"
E vamos instalar.
"apt install vim"
Por padrão, todas as vezes, agora,
que eu chamar o comando VI,
na verdade, ele vai ser um atalho
para o comando VIM.
Quando eu dou um "vi"
e um enter,
na verdade, ele chamou
o comando "VIM".
Você pode olhar aqui e falar:
"mas não mudou nada."
Eu vou te provar
que mudou.
Quando nós pressionarmos
a tecla I de inserir, agora,
ele escreveu lá embaixo:
"Inserção".
Quando não tínhamos
essa máscara instalada,
nós pressionamos I
e não tinha acontecido nada,
mas ele tinha entrado
no modo de inserção.
A diferença agora é que esse
VI é mais amigável,
esse VIM é mais friendly.
Ele é muito
mais fácil de usar.
Vamos imputar aqui
algumas informações.
Todas as vezes que eu pressiono I,
ele entra no modo inserção.
Pode perceber que, aqui
embaixo, escreveu "Inserção"
e eu posso digitar qualquer
coisa aqui dentro.
O Linux
é um sistema
open source.
A GPL possui
4 liberdades principais.
O rato roeu a roupa
do rei de Roma.
Eu posso inserir qualquer
informação aqui dentro.
Nesse momento,
esse arquivo não tem um nome.
Todas as informações
são armazenadas no buffer do VI.
Imagine que você acabou
de abrir o bloco de notas
e esse bloco de notas você não
salvou ainda com nenhum nome.
É o mesmo critério.
Tudo o que você insere ali
não está sendo salvo.
Você tem um arquivo no bloco
de notas sem títulos
Para que possa dar um nome
àquele arquivo dentro do bloco
de notas do Windows,
por exemplo,
você teria
que "salvar como".
Esse é o mesmo processo
dentro do VI.
Toda vez que eu abro o VI
e não informo o nome de um arquivo,
para que eu possa salvar todas
as modificações que fiz,
eu preciso
"salvar como".
E como eu "salvo como"
dentro do VI?
Simples.
Você vai pressionar
a tecla ESC.
Automaticamente,
nós entramos no modo comando.
":w"
W é o comando
para gravar.
Todas as vezes
que você quiser gravar
uma modificação
dentro do VI,
o comando que você
vai dar é W, de "write".
E você vai informar para o VI
onde você quer salvar esse arquivo
e qual o nome
que você quer dar para ele.
Então, eu quero salvar esse arquivo
dentro do diretório
"/tmp/".
Vou dar o nome
de "teste.txt".
E vou dar o enter.
Pronto.
Perceba que ele escreveu
as informações aqui em baixo
O novo arquivo
"/tmp/teste.txt"
possui 3 linhas
e 110 bytes gravados.
Maravilha!
Abri o VIM,
entrei no modo sessão
coloquei as informações lá dentro
e salvei como "/tmp/teste.txt"
Feito tudo isso,
eu vou sair desse arquivo.
ESC, ":q" de "quit".
Voltamos para o terminal.
Ce nós dermos o comando
"cat/tmp/teste.txt",
lá está todo o conteúdo que havia
inserido dentro do arquivo no VIM.
Agora, eu quero editar
esse arquivo novamente.
O que eu faço?
Agora sim, eu posso dar
um "vi/tmp/teste.txt"
e, automaticamente,
o conteúdo do arquivo foi aberto.
Esse conteúdo foi aberto
no modo de comando
e significa que, para eu poder
inserir novas informações,
eu tenho três ou quatro
opções possíveis.
Eu posso pressionar
a letra I de inserção.
Perceba que ele escreveu
inserção aqui embaixo
e o cursor permaneceu parado
no lugar dele.
Vou a pressionar ESC e ESC.
Posso pressionar
a tecla A.
Ele entrou no modo de inserção,
mas o cursor avançou um caractere.
Vou pressionar ESC
e posso pressionar a letra O.
Ele entrou no modo de inserção
e o cursor inseriu
uma nova linha em branco.
Esses são os três modos
que eu consigo entrar
nesse modo de inserção
utilizando A, I de Insert
ou O de dentro do VIM.
Agora, existem também
outros modos de operação no VIM,
como o modo
de visualização.
Para eu entrar no modo
de visualização,
eu vou apertar
a letra V.
Ele escreve "visual".
O modo de visualização permite
com que, por exemplo,
eu selecione linhas.
Eu consigo selecionar,
por exemplo, essas três linhas
e, uma vez selecionadas
essas três linhas,
eu posso executar
qualquer comando.
Eu posso deletar
essas três linhas de uma vez.
Eu posso copiar essas
três linhas de uma vez.
Então, vou pressionar a tecla ESC
e a letra V de visualização.
Imagine que eu queira copiar
todo o conteúdo da linha 1.
Eu vou selecionar com a seta
para frente e pressiono a tecla Y.
Pronto, copiou a linha.
E para eu colar, eu posso ir
no lugar que eu quero,
no final do arquivo,
apertar a tecla ESC
para habilitar o modo comando
e pressionar a letra P.
Ele copiou a linha número 1
e colou a linha aqui embaixo.
Isso no modo
de visualização do VI.
Nós também podemos alternar
entre esses três modos,
à medida que seja necessário.
Por exemplo, eu posso dar I,
entrei no modo de inserção,
dar ESC, entrei no modo
de comando
e V para entrar
no modo de visual.
Detalhe importante:
se você está no modo comando
e aperta a letra V,
ele entra
no modo visual.
Se você está no modo comando
e aperta a letra I,
ele entra no modo
de inserção.
A letra A entra
no modo de inserção.
A letra O entra
no modo de inserção.
Agora, se eu estou no modo
de inserção e eu aperta a letra V,
ele vai digitar a letra V.
Se eu apertar a letra I,
ele vai digitar a letra I.
Então, a gente precisa entender
em qual modo que nós estamos
para saber se eu estou
inserindo uma informação
ou se eu estou
enviando um comando.
Além disso, eu posso, simplesmente,
estar dentro desse arquivo
e, imagine que essas
duas linhas novas,
tanto essa linha aqui
quanto essa linha,
eu não queira
salvar esse conteúdo.
Eu abri o arquivo.
Puts, fiz uma edição errada.
Eu não queria
fazer essa alterações.
Eu quero sair
desse arquivo sem salvar.
Nós já vimos
que o comando
que utilizamos
para sair do VI é o Q.
Então, se eu vier aqui,
pressionar ESC, ":q"
ele não deixa eu sair.
Por que isso
acontece?
Isso acontece porque todas
as vezes que você abre o editor VI
e você entra
no modo de inserção,
obrigatoriamente, ele entende
que você abriu o arquivo,
você entrou no modo de inserção,
você inseriu dados
e você não quer salvar,
é isso mesmo?
Se a resposta para essa pergunta
for: "sim, é isso mesmo",
você precisa forçar
o comando dentro do VI.
E o caractere que a gente
usa para forçar um comando
dentro do VI
é o caractere "!".
Então, eu vou vir aqui no terminal,
vou dar um ESC, ":".
O comando que eu quero
é "q" para sair
e eu tenho
que forçar com "!"
para poder sair desse arquivo
sem salvar essas duas linhas.
Detalhe importante:
a exclamação não é usada
apenas para sair
sem salvar.
Ela é um caractere para forçar
qualquer comando dentro do VI.
Então, por exemplo, eu posso querer
gravar forçando, "w!".
Eu posso querer sair
e salvar forçando.
W para gravar.
Q para sair. E "!".
Então, a exclamação simplesmente
força a execução de um comando.
Nesse nosso exemplo,
eu quero que ele force sair
sem salvar essas duas linhas
aqui que nós inserimos.
E aí, eu uso ESC, ":q!"
Pronto, saí do arquivo.
Se eu voltar dentro
do arquivo novamente,
percebam que as três
ou as duas últimas linhas
que nós havíamos inserido
não foram salvas.
Esse é o VI, um dos editores
de texto mais utilizados no Linux.
Você viu como abrir, como sair,
como entrar no modo comando,
como entrar
no modo inserção
e como entrar no modo
de visualização.
Entendendo uma vez esses módulos,
certamente você, em pouco tempo,
vai passar a dominar o maior editor
de textos dos ambientes Linux.