Buenas! Aqui estou eu novamente, desta vez irei falar um pouco de um editor de textos muito famoso entre os utilizadores de Linux, o Vim (ou Vi somente), aliás, mesmo
que eu falasse mais de 1000 linhas seguidas sobre ele, ainda seria pouco. =)
Vamos começar pela pronúncia correta do nome, Vi se pronuncía “ví-ai” (em inglês, “vee-eye”), e não “vi” ou o número 6 em algarismos romanos. Vi é um acrônimo para
“Visual Interface”, hoje pode parecer estranho, mas na época em que foi desenvolvido, nos anos de 80, era comum encontrar editores não visuais, ou seja que não mostravam na tela o que era digitado. Já o Vim foi desenvolvido com base no Vi e originalmente significa Vi iMitator (imitador do vi), nome que logo foi substituído por Vi iMproved (Vi Melhorado), que por sua vez possue muito mais recursos dispiníveis. Ao longo do texto irei me referenciar ao Vim como Vi ^_^
Eu costumo dizer que a preferência por este editor é 8 ou 80, ou a pessoa odeia ou idolatra! Pessoalmente eu considero o Vi o melhor editor disponível no ambiente de terminal do Linux, por ele possir uma infinidade de recursos, como por exemplo seleção de textos, recorte, copia, identificação visual por cores em códigos-fontes, substituição de texto, numeração de linhas, possibilidade de criação de atalhos entre outras funcionalidades.
Num primeiro momento você pode estranhar o modo de se trabalhar no Vi, mas com o tempo você vai se acostumando aos atalhos e comandos do editor.
Modos de operação
{
Existem 5 modos de operação no Vim, listados a seguir:
Modo Normal (Quando não existe nenhum texto informando o modo no rodapé):
Neste modo é possível utilizar teclas do teclado para realizar algumas funções como remover caracteres, linhas, copiar linhas, ir até uma linha específica entre outros.
Este é o modo padrão de operação quando se inicía o editor, caso você esteja em qualquer outro modo pressione <ESC> para voltar para o modo Normal.
Modo Inserção (Representado por –INSERT–):
O modo de inserção de textos, onde é possível navegar pelo texto com as setas direcionais e acrescentar e remover textos.
Este modo é acessado pressionando-se a tecla <i> (insert), <a> (append) ou ainda pressionando a tecla <INSERT> uma única vez no modo Normal.
Modo Substituição (Representado por –REPLACE–):
O modo de substituição de textos, neste modo todo o texto que for digitado irá sobrepor o texto a frente do cursor.
Este modo é acessado pressionando-se a tecla <INSERT> duas vezes no modo Normal.
Modo Visual (Representado por –VISUAL–):
No modo visual é possível selecionar um bloco de texto com o auxílio das setas direcionais e a partir daí utilizar comandos do modo Normal para recortar, colar, entre outras
coisas, é possível até realizar a identação (tabulação) de um bloco de texto.
Para acessar este modo, pressione <v> no modo Normal.
Modo Comando (Digamos que o que representa ele é o comando digitado =D)
Por último e não por isso menos importante, no modo de comandos é possível realizar algumas tarefas importantes, como localizar e substituír textos, ir para uma
determinada linha, salvar o documento, sair do editor.
Para acessar este modo digite ‘:’ (dois pontos) no modo normal, e logo em seguida o comando
}
Teclas de atalho do modo normal
{
A seguir alguns dos atalhos mais importantes que podem ser utilizados no modo Normal:
dd >> Recorta e armazena a linha inteira no buffer
D >> Recorta e armazena todo o conteúdo a partir do cursor no buffer
d# + seta >> Onde # é o número de linhas que serão recortadas (usando as setas Cima ou Baixo) ou caracteres da linha (usando as setas Direita e Esquerda), e armazena no buffer
yy ou Y >> Copia e armazena no buffer o conteúdo da linha intera
p >> Cola o conteudo do buffer na coluna seguinte ao cursor (caracteres) / Cola o conteudo do buffer na linha seguinte ao cursor (linhas)
P >> Cola o conteudo do buffer na coluna anterior ao cursor (caracteres) / Cola o conteudo do buffer na linha seguinte ao cursor (linhas)
gg >> Move o cursor para o começo do arquivo
G >> Move o cursor para o final do arquivo
#gg ou #G >> move o cursor até uma determinada linha (Ex. 5G)
Ctrl+g >> Mostra informações no rodapé (linha atual, coluna atual, entre outros)
i ou Insert >> Entra no modo de inserção
Insert Insert >> Entra no modo de substituição
o >> Cria uma nova linha abaixo e posiciona o cursor no inicio para edição
O >> Cria uma nova linha acima e posiciona o cursor no inicio para edição
u >> Desfaz a última alteração feita / Refaz caso tenha desfeito
. (ponto) >> Repete a ultima ação
zz >> Centraliza a tela na posição do cursor
ZZ >> Salva o documento e sai (Só funciona se o documento não for somente leitura)
}
Comandos do modo comando
{
:w >> Salva o documento
:w NomeDoArquivo >> Salva o documento com outro nome
:w! >> Força documentos somente leitura a salvar
:q >> Sai do editor
:q! >> Sai do editor ignorando alterações
:wq >> Salva e sai (Mesmo que o atalho ZZ)
:wq! >> Força documentos somente leitura a salvar e sai
}
Bom, com esses comandos já é possível brincar um pouco 
O vi é muito mais que um editor! Tudo o que um administrador de Linux precisa rsrs
Depois posto mais dicas sobre ele…
Abraços!