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?
TXT e automaticamente
o conteúdo do arquivo foi aberto.
Esse conteúdo foi aberto
no modo de comando
e significa aqui
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 a inserção
aqui embaixo
e o cursor permaneceu parado no lugar
dele.
Vou a pressionar ESC 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 ou
ele entrou no modo de inserção e o cursor
inserir uma nova linha em branco.
Esses são os três modos
que eu consigo entrar
nesse modo de inserção utilizando a e
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 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 selecionada 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 eu vou pressionar a letra ESC
e a letra V de visualização.
Imagine que eu queira
copiar todo o conteúdo da linha um.
Eu vou selecionar com a seta para frente
e pressione 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 um e colou a linha aqui embaixo.
Isso no modo de visualização do vídeo.
Nós também podemos alternar
entre esses três modos
a medida que seja necessário.
Por exemplo, eu posso da
e entrei no modo de inserção da ESC.
Entre no modo de comando
v 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 seção.
A letra entre no modo seçã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 ditar a letra I.
Então a gente precisa entender
em qual o 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 nova
tanto essa linha aqui
quanto essa linha,
eu não queira salvar esse conteúdo.
Eu abri o arquivo.
Putz, 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 a gente
utiliza para sair do vídeo é o quê?
Então se eu vim aqui pressionar ESC
dois pontos que
ele não deixa eu sair?
Por que isso acontece?
Isso acontece porque
todas as vezes que você abre, o editor vai
e você entra no modo de inserção,
obrigatoriamente ele entende.
Pera aí, 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 vai e o caractere
que a gente usa para forçar um comando
dentro do vai é o caractere exclamação.
Então eu vou vir aqui no terminal,
vou dar um esc, dois pontos.
O comando que eu quero é que para sair
e eu tenho que forçar com exclamação
para poder sair desse arquivo
sem salvar essas duas linhas.
Detalhe importante a exclamação
ela não é usada
apenas para sair sem salvar a exclamação.
Ela é um caractere para forçar
qualquer comando dentro do vi.
Então, por exemplo, eu posso querer gravar
forçando W e exclamação.
Eu posso querer sair e salvar
forçando W para gravar.
Que para sair. Exclamação?
Então exclamação!
Ela simplesmente força
a execução de o 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.
Dois pontos de exclamação.
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 inseridos na inserido
não foram salvas.
Esse eu 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 sessã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 e.