Articles

Começar com Vim: O básico

Lembro-me da primeira vez que encontrei Vim. Eu era um estudante universitário, e os computadores do laboratório do departamento de informática foram instalados com o Ubuntu Linux. Embora tivesse sido exposto a diferentes variações de Linux (como o RHEL) mesmo antes dos meus anos de faculdade (a Red Hat vendia os seus CDs na Best Buy!), esta foi a primeira vez que precisei de utilizar o sistema operativo Linux regularmente, porque as minhas aulas me obrigavam a fazê-lo. Quando comecei a utilizar o Linux, como muitos outros antes e depois de mim, comecei a sentir-me como um “verdadeiro programador”

1_xkcdcartoon.jpg

p>Real Programmers, por xkcd

Students could use a graphical text editor like Kate, which was installed on the lab computers by default. Para os estudantes que podiam usar a shell mas não estavam habituados ao editor baseado na consola, a escolha popular foi o Nano, que proporcionava bons menus interactivos e uma experiência semelhante à do editor de texto gráfico do Windows.

Utilizei o Nano por vezes, mas ouvi coisas fantásticas sobre Vi/Vim e Emacs e queria mesmo experimentar (principalmente porque pareciam fixes, e eu também estava curioso para ver o que havia de tão fantástico neles). Usar Vim pela primeira vez assustou-me – eu não queria estragar nada! Mas uma vez apanhado o jeito, as coisas tornaram-se muito mais fáceis e pude apreciar as capacidades poderosas do editor. Quanto ao Emacs, bem, desisti, mas estou feliz por ter ficado com o Vim.

p> Neste artigo, vou andar pelo Vim (com base na minha experiência pessoal) o suficiente para que possa passar com ele como um editor num sistema Linux. Isto não fará de si um perito nem sequer riscará a superfície de muitas das poderosas capacidades do Vim. Mas o ponto de partida importa sempre, e eu quero tornar a experiência inicial tão fácil quanto possível, e pode explorar o resto por si próprio.

Passo 0: Abra uma janela de consola

Antes de saltar para o Vim, precisa de fazer uma pequena preparação. Abra um terminal de consola a partir do seu sistema operativo Linux. (Uma vez que o Vim também está disponível no MacOS, os utilizadores de Mac podem usar estas instruções, também.)

A partir do momento em que uma janela de terminal estiver aberta, escreva o comando ls para listar o directório actual. Depois, digite mkdir Tutorial para criar um novo directório chamado Tutorial. Entre no directório escrevendo cd Tutorial.

É isso para preparação. Agora é altura de passar à parte divertida do arranque para usar o Vim.

Passo 1: Criar e fechar um ficheiro Vim sem guardar

Lembrar quando disse que tinha medo de usar o Vim no início? Bem, a parte assustadora foi pensar, “e se eu mudar um ficheiro existente e estragar as coisas”? Afinal, várias tarefas informáticas exigiram que eu trabalhasse em ficheiros existentes, modificando-os. Eu queria saber: Como posso abrir e fechar um ficheiro sem guardar as minhas alterações?

A boa notícia é que pode usar o mesmo comando para criar ou abrir um ficheiro no Vim: vim <FILE_NAME>, onde <FILE_NAME> representa o nome do ficheiro alvo que pretende criar ou modificar. Vamos criar um ficheiro chamado HelloWorld.java escrevendo vim HelloWorld.java.

Hello, Vim! Agora, aqui está um conceito muito importante em Vim, possivelmente o mais importante a lembrar: Vim tem vários modos. Aqui estão três que precisa de saber para fazer os conceitos básicos de Vim:

>th>Description

Mode
Normal Default; para navegação e edição simples
Inserir Para inserir e modificar texto explicitamente
Linha de Comando Para operações como salvar, sair, etc.

Vim tem outros modos, como o Visual, Select, e Ex-Mode, mas os modos Normal, Insert, e Linha de Comando são suficientemente bons para nós.

Você está agora no modo Normal. Se tiver texto, pode mover-se com as teclas de setas ou outras teclas de navegação (que verá mais tarde). Para se certificar de que está no modo Normal, basta carregar na tecla Esc (Escape).

Tip: Esc muda para o modo Normal. Mesmo que já esteja no modo Normal, carregue em Esc apenas para praticar.

Agora, isto será interessante. Prima : (a tecla dois pontos) seguida de q! (i.e., :q!). O seu ecrã terá o seguinte aspecto:

Pressing the colon in Normal mode switches Vim to Command Line mode, and the :q! command quits the Vim editor without saving. Por outras palavras, está a abandonar todas as alterações. Também pode usar ZQ; escolha a opção que for mais conveniente.

Após carregar em Enter, já não deve estar em Vim. Repita o exercício algumas vezes, apenas para se apoderar dele. Uma vez feito isso, passe à secção seguinte para aprender como fazer uma alteração a este ficheiro.

Passo 2: Fazer e guardar modificações em Vim

Reabrir o ficheiro digitando vim HelloWorld.java e premindo a tecla Enter. O modo Inserir é onde se pode fazer alterações a um ficheiro. Primeiro, prima Esc para se certificar de que está no modo Normal, depois prima i para ir para o modo Inserir. (Sim, é a letra i.)

No canto inferior esquerdo, deve ver — INSERIR –. Isto significa que está no modo Inserir.

Digite algum código Java. Pode digitar o que quiser, mas aqui está um exemplo a seguir. O seu ecrã terá este aspecto:

public class HelloWorld {
public static void main(String args) {
}
}

Muito bonito! Repare como o texto é realçado em cores de realce de sintaxe Java. Como iniciou o ficheiro em Java, Vim irá detectar a cor da sintaxe.

Guardar o ficheiro. Prima Esc para sair do modo Inserir e entrar no modo Linha de Comando. Digite : e siga isso com x! (ou seja, um dois pontos seguido de x e !). Carregue em Enter para guardar o ficheiro. Também pode digitar wq para efectuar a mesma operação.

Agora sabe como introduzir texto usando o modo Inserir e guardar o ficheiro usando :x! ou :wq.

Passo 3: Navegação básica em Vim

Embora possa sempre usar os botões de seta amigável Para cima, Para baixo, Esquerda, e Direita para se mover em torno de um ficheiro, o que seria muito difícil num ficheiro grande com quase inúmeras linhas. Também é útil poder saltar dentro de uma linha. Embora o Vim tenha uma tonelada de características de navegação fantásticas, a primeira que lhe quero mostrar é como ir para uma linha específica.

Pressione a tecla Esc para se certificar de que está no modo Normal, depois digite :set number e prima Enter .

Voila! Vê números de linha no lado esquerdo de cada linha.

:2

Agora passe para a linha 3.

Mas imagine um cenário em que está a lidar com um ficheiro que tem 1.000 linhas e quer ir para o fim do ficheiro. Como é que se chega lá? Certifique-se de que está no modo Normal, depois digite :$ e prima Enter.

Estará na última linha!

Agora que sabe como saltar entre as linhas, como bónus, vamos aprender a mover-se para o fim de uma linha. Certifique-se de que está numa linha com algum texto, como a linha 3, e escreva $.

Estará agora no último carácter da linha. Neste exemplo, a cinta de caracóis abertos é realçada para mostrar para onde o seu cursor se moveu, e a cinta de caracóis fechados é realçada porque é o carácter correspondente da cinta de caracóis abertos.

É isso para a navegação básica em Vim. Espere, não saia do ficheiro, no entanto. Vamos passar à edição básica em Vim. Sinta-se à vontade para tomar uma chávena de café ou chá, embora.

Passo 4: Edição básica em Vim

Agora que saiba navegar à volta de um ficheiro saltando para a linha que deseja, pode usar essa habilidade para fazer alguma edição básica em Vim. Mude para o modo Inserir. (Lembre-se de como fazer isso, premindo a tecla i?) Claro, pode editar usando o teclado para apagar ou inserir caracteres, mas Vim oferece formas muito mais rápidas de editar ficheiros.

Mover para a linha 3, onde mostra o principal vazio estático público (String args) {. Carregue rapidamente na tecla d duas vezes seguidas. Sim, isto é dd. Se o fez com sucesso, verá um ecrã como este, onde a linha 3 desapareceu, e cada linha seguinte subiu uma (ou seja, a linha 4 tornou-se linha 3).

Isso é o comando de apagar. Não tenha medo! Carregue em u e verá a linha eliminada recuperada. Whew. Este é o comando desfazer.

A próxima lição é aprender a copiar e colar texto, mas primeiro, é preciso aprender a destacar texto em Vim. Prima v e mova os botões das setas esquerda e direita para seleccionar e anular a selecção de texto. Esta funcionalidade é também muito útil quando está a mostrar o código aos outros e quer identificar o código que quer que eles vejam.

Move para a linha 4, onde diz System.out.println(“Hello, Opensource”);. Realçar toda a linha 4. Feito? OK, enquanto a linha 4 ainda está realçada, prima y. Isto chama-se modo yank, e irá copiar o texto para a prancheta. A seguir, crie uma nova linha por baixo, entrando o. Note que isto o colocará no modo Inserir. Saia do modo Inserir pressionando Esc, depois carregue em p, que significa colar. Isto irá colar o texto copiado da linha 3 para a linha 4.

Como um exercício, repita estes passos mas também modifique o texto nas suas linhas recém-criadas. Certifique-se também de que as linhas estão bem alinhadas.

P>P>P>Precisa de alternar entre o modo Inserir e o modo Linha de Comando para realizar esta tarefa.

Após terminar, guarde o ficheiro com o comando x! É tudo para edição básica em Vim.

Passo 5: Pesquisa básica em Vim

Imagine que o chefe da sua equipa quer que altere uma cadeia de texto num projecto. Como pode fazer isso rapidamente? Pode querer pesquisar a linha usando uma certa palavra-chave.

A funcionalidade de pesquisa do Vim pode ser muito útil. Entre no modo Linha de Comando premindo (1) a tecla Esc, depois (2) premindo dois pontos: tecla. Podemos pesquisar uma palavra-chave introduzindo :/<SEARCH_KEYWORD>, onde <SEARCH_KEYWORD> é a cadeia de texto que deseja encontrar. Aqui estamos à procura da cadeia de palavras-chave “Olá”. Na imagem abaixo, faltam os dois pontos mas é necessário.

No entanto, uma palavra-chave pode aparecer mais do que uma vez, e esta pode não ser a que pretende. Então, como se navega para encontrar a próxima correspondência? Basta premir a tecla n, que significa “próximo”. Certifique-se de que não está no modo Inserir quando fizer isto!

Passo Bónus: Use o modo dividir em Vim

que cobre praticamente todos os conceitos básicos do Vim. Mas, como bónus, quero mostrar-vos uma funcionalidade fixe do Vim chamada split mode.

Sai do HelloWorld.java e cria um novo ficheiro. Numa janela terminal, escreva vim GoodBye.java e prima Enter para criar um novo ficheiro chamado GoodBye.java.

Introduza o texto que quiser; decidi escrever “Goodbye”. Guarde o ficheiro. (Lembre-se que pode usar :x! ou :wq no modo Linha de Comando.)

No modo Linha de Comando, digite :split HelloWorld.java, e veja o que acontece.

Wow! Vejam isto! O comando split criou janelas divididas horizontalmente com HelloWorld.java acima e GoodBye.java abaixo. Como é que se pode alternar entre as janelas? Hold Control (num Mac) ou CTRL (num PC), depois carregue ww (i.e., w duas vezes em sucessão).

Como exercício final, tente editar GoodBye.java para corresponder ao ecrã abaixo, copiando e colando de HelloWorld.java.

Guardar ambos os ficheiros, e está feito!

TIP 1: Se quiser organizar os ficheiros verticalmente, use o comando :vsplit <FILE_NAME> (em vez de :split <FILE_NAME>, onde <FILE_NAME> é o nome do ficheiro que pretende abrir em modo Split.

TIP 2: Pode abrir mais de dois ficheiros chamando tantos comandos adicionais de divisão ou vs. divisão quantos quiser. Experimente e veja como fica.

Vim cheat sheet

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *