====== Vim ====== O Vi é um dos mais antigos (1976) editores de texto em linha de comando, para Unix e Linux; Hoje em dia, as distribuições usam uma versão mais completa e com mais recursos do que o **Vi** que é o **Vim = VIiMproved**. Abaixo podemos ver uma tela do editor de textos **vim**: Ao invocar o **vim**, este entra direto para o modo **visualização**. Para modificar o arquivo, usam-se os modos de inserção, deleção e de substituição. Para voltar ao modo de visualização, sempre se usa a tecla //ESC//. A grande maioria dos serviços em **Unix** são configurados através de arquivos de configuração, o **vim** não seria diferente. Seu arquivo de configuração fica localizado em ///etc/vim/vimrc// no Debian e ///etc/vimrc// no CentOS. ====== Funcionalidades Básicas ====== * Tecle I para inserir o Texto Abaixo * Tecle ESC para sair do Modo Inserção e voltar para o Modo de Comando * Copiar Linhas: yy ou 10yy * Colar Linhas: p * Deletar Linhas: dd ou 10dd * Numerar Linhas: :set number * Substituição: :%s/Origem/Destino/g * Ir para Última Linha: Shift+G * Ir para Primeira Linha: gg * Desfazer Ações: u * Refazer Ações: CTRL+R * Buscar Palavra: /palavra * Buscar a próxima: n * Dividir a Tela: split * Dividir Horizontalmente: vsplit * Para Navegar entre as telas: CTRL + W * Executar um comando: r * Executar um comando: ! * Executar e Inserir: r! * Outras formas de salvar e sair: :x, Shift ZZ * Para Abrir um novo arquivo sem sair do vim: :e nome_do_arquivo * Para Executar um comando sem sair do vim: :r comando ====== Comandos básicos de movimentação ====== * **Ctrl+f** - Move o cursor para a próxima tela; * **Ctrl+b** - Move o cursor para a tela anterior; * **H** - Move o cursor para a primeira linha da tela; * **M** - Move o cursor para o meio da tela; * **L** - Move o cursor para a última linha da tela; * **h** - Move o cursor um caractere à esquerda; * **j** - Move o cursor para a próxima linha; * **k** - Move o cursor para linha anterior; * **l** - Move o cursor um caractere à direita; * **w** - Move o cursor para o início da próxima palavra; * **W** - Move o cursor para o início da próxima palavra, separadas por espaço; * **b** - Move o cursor para o início da palavra anterior; * B - Move o cursor para o início da palavra anterior, separadas por espaço; * 0(zero) - Move o cursor para o início da linha atual; * -̂ Move o cursor para o primeiro caractere não branco da linha atual; * $ - Move o cursor para o final da linha atual; * nG - Move o cursor para a linha **n**; * :n - Move o cursor para a linha **n**; * gg - Move o cursor para a primeira linha do arquivo; * G - Move o cursor para a última linha do arquivo. ====== Comandos básicos para localizar texto ====== * /palavra - Busca pela palavra ou caractere em todo o texto; * ?palavra - Move o cursor para a ocorrência anterior da palavra; * n - Repete o último comando / ou ?; * N - Repete o último comando / ou ?, na direção reversa; * Ctrl+g - Mostra o nome do arquivo, o número da linha atual e o total de linhas. ====== Comandos básicos para alteração de texto ====== * x - Deleta o caractere que está sob o cursor; * dw - Deleta a palavra, da posição atual do cursor até o final; * dd - Deleta a linha atual, e copia o conteúdo para área de transferência; * D - Deleta a linha a partir da posição atual do cursor até o final; * :A,Bd - Deleta da linha A até a linha B, copia para área de transferência; * rx - Substitui o caractere sob o cursor pelo especificado em x; * u - Desfaz a última modificação ; * U - Desfaz todas as modificações feitas na linha atual; * J - Une a linha corrente a próxima; * yy - Copia 1 linha para a área de transferência; * yNy - Copia N linhas para a área de transferência; * p - Cola o conteúdo da área de transferência; * Np - Cola N vezes o conteúdo da área de transferência; * cc - Apaga o conteúdo da linha, e copia para área de transferência; * cNc - Apaga o conteúdo de N linhas, e copia para área de transferência; * :%s/string1/string2/g - Substitui "string1" por "string2". ====== Comandos para salvar o texto ====== * :wq ou :x - Salva o arquivo e sai do editor; * :w nome_do_arquivo - Salva o arquivo corrente com o nome especificado; * :w! nome_do_arquivo - O mesmo que :w, mas forçando sobrescrita; * :q - Sai do editor; * :q! - Sai do editor sem salvar as alterações realizadas. ====== Personalizando o Vim ====== No Debian: ///etc/vim/vimrc// No CentOS: ///etc/vimrc// * **set ic:** ignorar as buscas case sensitive; * **set number:** definir numeração de Linha; * **syntax on**: deixar o Vim colorido; * **set hlsearch:** destacar as palavras encontradas em uma busca. * **set bg=dark:** Deixa as fontes em negrito.