vi e vim, parte 2: abrindo, salvando, fechando e se movendo nele

Shell: vi e vim, O que é?
Shell: vi e vim, comandos básicos de edição

Os comandos são sempre os mais óbvios possíves, quase sempre são abreviações, por exemplo:

'i': insert
'cw': change word

São caso-sensitivos, ou seja, maiúsculo e minúsculo tem diferentes significados.
Não aparecem na tela quando se digita.
Não precisam de enter após o comando.

Slash '/' e question mark '?' iniciam os comandos de busca.
O colon ':' inicia os ex comandos.


No vi, estamos sempre trabalhando com uma cópia do arquivo no buffer, ou seja, ao editarmos os arquivos não iremos afetar o original até nós salvarmos o buffer.

vi [filename] : abre um arquivo. ou cria um, de nome único.
Para criar um com espaço no nome, usar '\' antes do espaço.
Então, para abrir um arquivo (ou criar, caso ele não exista), usamos: vi caminho/do\ arquivo/teste1.txt

Ao iniciar, você no modo de comando. Tudo que digitar será comando. Pressionar “i” pra ir pro modo insert e “ESC” pro modo comando. 

Para sair e salvar o que foi editado, o comando é “ZZ”.
Pode-se usar 'ex' comandos:
“:w” : write, ele salva mas nao sai do vi
“:q” : quit, se voce nao tiver editado nada
“:wq”: write e quit = ZZ

Se você quiser escapar de tudo que editou e voltar ao arquio original:
“:e” + ENTER
Pois retorna a última versão salva do arquivo.

Pra simplesmente sair sem valvar:
“:q!” + ENTER

Ao salvar o arquivo, se ele ja existir:
“:w!” : sobrescreve
“:w newfile”: salva a edição em uma nova versão do arquivo
Usa-se esse comando quando não se tem permissão de escrita de um arquivo, então você cria uma nova versão que terá, se tiver permissão de escrita nesse diretório.
Se não tiver:
“:w pathname/file” 

- Se movendo no editor
No modo de comando, para se movimentar no editor usar:
'h' : esquerda
'j' : baixo
'k' : cima
'l' : direita
'0' : vai pro inicio da linha
'$' : vai pro fim da linha


Pode-se colocar um numero antes, para dar um salto maior:
'3j' : salta 3 linhas para baixo

Uma linha, no vi, é o que está entre duas newlines (\n), e não o que é 'visualmente' uma linha. Ou seja, se você digitar 2000 caracteres e não der ENTER, é tudo considerado uma linha.

Pra visualizar a numeração de cada linha, digitar, no modo comando:
:set nu


- Saltando o cursor entre blocos
Para mover o cursor por blocos (palavras, sentenças, paragráfos etc)
'w' : move pra frente
'b' : move pra trás

Se não quiser contar a pontução, usar 
'W'
'B'

Para ir para uma linha específicar, usar o comando G
'G': vai pro fim do arquivo
'1G': vai para a primeira linha
'23G': vai para a 23a linha






Estudando por: Learning the vi and Vim Editors, Seventh Edition
by Arnold Robbins, Elbert Hannah, and Linda Lamb

Nenhum comentário:

Veja também: