Vim/Repetição de comandos: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Edudobay (discussão | contribs)
Edudobay (discussão | contribs)
Sem resumo de edição
Linha 1:
__TOC__
 
== Repetição de Comandos ==
Para repetir a última edição saia do modo de Inserção e pressione ponto (.):
.
Linha 21:
** <code><Esc></code>: finaliza a inserção.
 
== Macros: Gravando uma seqüência de comandos ==
 
Imagine que você tem o seguinte trecho de código:
Linha 37:
#include "stdlib.h"
 
Não podemos simplesmente executar repetidas vezes um comando do Vim, pois precisamos incluir texto tanto no começo quanto no fim da linha ? é necessário mais de um comando para isso.
 
É aí que entram as macros. Podemos gravar até 26 macros, já que elas são guardadas nos registros do Vim, que são identificados pelas letras do alfabeto. Para começar a gravar uma macro no registro ''a'', digitamos
Linha 69:
 
Agora você só precisa posicionar o cursor na primeira letra de uma linha como esta
stdio.h
e executar a macro do registro ''a'' quantas vezes for necessário, usando o comando <code>@</code>. Para aplicarexecutar quatro vezes, digite:
 
e executar a macro do registro ''a'' quantas vezes for necessário, usando o comando <code>@</code>. Para aplicar quatro vezes, digite:
 
4@a
 
Este comando executa quatro vezes o conteúdo do registro ''a''.
 
=== Scripts vim=Vim ==
Usando um script para modificar um nome em vários arquivos:
* Crie um arquivo chamado "subs.vivim" contendo os comandos de substituição e o comando de salvamento :wq.
:%s/bgcolor="white"/bgcolor="#eeeeee"/g
de salvamento :wq
:wq
 
Para executar um script, digite o comando
:%s/bgcolor="white"/bgcolor="#eeeeee"/g
:source nome_do_script.vim
:wq
 
=== Usando o comando bufdo= ==
Com o comando <ttcode>:bufdo</ttcode> podemos executar um comando em um conjunto de arquivos de forma rápida. No exemplo a seguir, abrireiabriremos todos os arquivos htmlHTML do diretório atual, efetuarei uma substituição e em seguida salvo todos.
vim *.html
:bufdo :%s/bgcolor="white"/bgcolor="#eeeeee"/g
Após isto salve todos os arquivos e saia:
:wall
:qall
O comando <ttcode>:wall</ttcode> salva ("write") todos ("all") os arquivos abertos com opelo comando <ttcode>vim *.html</ttcode>. Opcionalmente você pode combinar '':wall'' e '':qall'' com o comando <code>:wqall</code>, que salva todos os arquivos abertos e em seguida sai do Vim.
 
[[Categoria: Vim|Repetição de Comandos]]