Vim: mudanças entre as edições
Sem resumo de edição |
|||
Linha 95: | Linha 95: | ||
marca. Para pular para a marca ''a'' faça: | marca. Para pular para a marca ''a'' faça: | ||
`a | `a | ||
===Marcas Globais== | |||
Durante a edição de vários arquivos defina uma marca global com o comando | |||
mA | |||
Onde 'm' cria a marca e 'A' (maiúsculo) define uma marca 'A' acessível a quaquer momento com o comando | |||
'A | |||
Isto fará o vim dar um salto até a marca A mesmo que esteja em outro arquivo, bastando apenas que o mesmo | |||
esteja aberto. Para abrir varios arquivos uma solução seria: | |||
vim *.txt | |||
Para ir para o próximo arquivo: | |||
:bn | |||
Para ir para o arquivo anterior | |||
:bp | |||
==Os Saltos== | ==Os Saltos== | ||
Linha 149: | Linha 161: | ||
#include "stdlib.h" ~ | #include "stdlib.h" ~ | ||
</pre> | </pre> | ||
É aí que entram os registros, que podem ser 26, um para cada letra do alfabeto<br> | |||
para iniciar um registro faça: | para iniciar um registro faça: | ||
Linha 155: | Linha 167: | ||
onde ''q'' inicia o registro e ''a'' é o próprio registro<br> | onde ''q'' inicia o registro e ''a'' é o próprio registro<br> | ||
partir do comando qa tudo que for digitado e todos os comandos <br> | |||
serão gravados no registro. Vamos | serão gravados no registro. Vamos à solução do problema proposto acima<br> | ||
<pre> | <pre> | ||
qa Inicia a gravação do registro - Macro | qa Inicia a gravação do registro - Macro | ||
Linha 180: | Linha 192: | ||
==Veja Também== | ==Veja Também== | ||
[http://www.vivaolinux.com.br/artigos/impressora.php?codigo=2914 VIM avançado (parte 1)] | * [http://www.vivaolinux.com.br/artigos/impressora.php?codigo=2914 VIM avançado (parte 1)] | ||
* http://www.rayninfo.co.uk/vimtips.html | |||
* http://www.geocities.com/yegappan/vim_faq.txt |
Edição das 21h48min de 28 de janeiro de 2006
Introdução
O Vim é um melhoramento do editor vi, um editor dos sistemas Unix. Possui uma série de melhoramentos em relação a este último. O próprio slogan do vim é IMPROVED VI. Ou seja, vi melhorado.
É capaz de reconhecer mais de 400 sintaxes de linguagens de programação e marcação. mapeamento para teclas, macros, abreviações, busca por 'expressões regulares' entre outras facilidades. Conta com uma comunidade bastante atuante, totalmente configuravel é, ao lado do Emacs um dos editores mais usados no mundo GNU, mas pode ser também instalado no windows e mac.
site oficial: http://www.vim.org/
Para chamar a ajuda do vim use F1 Para navegar na ajuda do vim use CTRL-], e para voltar use CTRL+O
Movendo-se no Vim
Para moverse no vim use:
k h l j
ou seja, a letra k é usada para subir no texto a letra j para descer, a letra h para mover-se para a esquerda e a letra l para mover-se para a direita.
Para entrar em Modo de Edição pressione
i ................inicia o modo insert na posição atual I ................inicia o modo insert no início da linha atual a ................inicia o modo insert após o caractere atual A ................inicia o modo insert no final da linha atual o ................inicia o modo insert na linha abaixo O ................inicia o modo insert uma linha acima
Para retornar ao modo normal pressione ESC
Modos de Operação
Os Modos de Operação do Vim |
|
---|---|
Normal |
Neste modo podemos colar o que está no "buffer", uma espécie de área de transferência. Podemos ter um buffer para cada letra do alfabeto, também é possível apagar linhas, e colocar trechos no buffer. Quando se inicia o vim já estamos neste modo, caso esteja em outro modo basta pressionar 'ESC' |
Insert |
Neste modo é feita a inserção de texto, para entrar neste modo basta pressionar a tecla i de insert ou a tecla a de append. |
Visual |
Neste modo podemos selecionar blocos verticais de texto. É exibido um destaque visual. É uma das melhores formas de se copiar conteúdo no vim. |
Editando
Apagando linhas (modo normal)
dd - apaga a linha atual 5dd - apaga as próximas 5 linhas
Copiando linhas
yy - copia a linha atual 5yy - copia as próximas 5 linhas
Usando marcas
As marcas são um meio eficiente de se pular para um local no arquivo. Para criar uma, estando em modo normal faça:
ma
Onde m indica a criação de uma marca e a é o nome da marca. Para pular para a marca a faça:
`a
=Marcas Globais
Durante a edição de vários arquivos defina uma marca global com o comando
mA
Onde 'm' cria a marca e 'A' (maiúsculo) define uma marca 'A' acessível a quaquer momento com o comando
'A
Isto fará o vim dar um salto até a marca A mesmo que esteja em outro arquivo, bastando apenas que o mesmo esteja aberto. Para abrir varios arquivos uma solução seria:
vim *.txt
Para ir para o próximo arquivo:
:bn
Para ir para o arquivo anterior
:bp
Os Saltos
Para ir para o começo do arquivo digite:
gg
Para ir para o fim do arquivo digite:
G
Para ir para o começo de uma linha digite o caractere
0 zero
Para ir para o final de uma linha digite o caractere
$ cifrão
Para ir para a próxima ocorrência de uma letra faça:
f<letra> - sentido inverso F<letra>
Para colocar o cursor uma letra antes da desejada
t<letra> - sentido inverso T<letra>
Iniciar a inserção no fim da linha
A
Iniciar a inserção no começo da linha
I
Fazendo Buscas
Para fazer uma busca certifique-se de que está em modo normal, em seguida pressione / e digite a palavra a ser buscada
O arquivo de configuração do vim
O arquivo que você deve editar é o vimrc, não deixe de visitar este link!
Repetição de Comandos
Para repetir a ultima edição saia do modo inset e pressione ponto (.)
.
Para repetição de comandos faça:
1. Posicionando no local desejado; 2. Indique o número de repetições no teclado numérico, ex: 3; 3. Entrar em modo de inserção; 4. Digitar o texto; 5. Sair do modo de inserção (tecle ESC).
Usando registros
Imagine que você tem o seguinte trecho de código
stdio.h ~ fcntl.h ~ unistd.h ~ stdlib.h ~
e quer que ele fique assim:
#include "stdio.h" ~ #include "fcntl.h" ~ #include "unistd.h" ~ #include "stdlib.h" ~
É aí que entram os registros, que podem ser 26, um para cada letra do alfabeto
para iniciar um registro faça:
qa
onde q inicia o registro e a é o próprio registro
partir do comando qa tudo que for digitado e todos os comandos
serão gravados no registro. Vamos à solução do problema proposto acima
qa Inicia a gravação do registro - Macro ^ Move para o começo da linha. i#include "<Esc> Insere a string #include " no começo da linha. $ Move para o final da linha. a"<Esc> Adiciona (append) aspas (") ao final da liha. j Vai para a próxima linha. q Para a gravação da macro.
Agora você só precisa posicionar o cursor na primeira letra de uma linha como esta
stdio.h ~
e aplicar quantas vezes for necessário o registro, para aplicar 3x faça:
3@a
o comando acima aplica 3x o registro a