Dia 4: Registradores
Registradores são usados para termos acesso a várias "áreas de transferência".
Para acessar um registrador, comandos que trabalham com a área de transferência
devem ser precedidos com "
.
Por exemplo, ["][a][d][d]
remove a linha e guarda o conteúdo no registrador
"a". Para recuperar o conteúdo do registrado, o comando de paste também deve
ser precedido das aspas e do nome do registrador: ["][a][p]
irá colar o
conteúdo do registrador "a".
Existe uma diferença com maiúsculas e minúsculas quando algo é transferido para
um registrador. Se a letra utilizada for minúscula (["][a][y][y]
, por
exemplo), o conteúdo anterior do registrador e removido e novo conteúdo fica no
lugar; se for maiúscula (["][A][y][y]
), o conteúdo anterior é mantido e o
novo conteúdo é adicionado no registrador.
Apenas registradores com letras podem ser alterados diretamente. O registrador
"1" (["][1][p]
, por exemplo) contém a última remoção feita no texto, o
registrador "2" (["][2][p]
, como exemplo) contém a remoção feita antes da
primeira no texto e assim por diante.
O registrador "+" (["][+]
) é o registrador da área de transferência do
sistema. Se você estiver utilizando outro editor e copiar algum texto para a
área de transferência padrão do sistema, para recuperar este conteúdo dentro do
Vim deve ser utilizado ["][+][p]
; da mesma forma, para copiar algo do Vim
para a área de transferência do sistema, deve ser utilizado este registrador
antes, com ["][+][y][y]
, por exemplo.
Existe um registrador chamado "burado negro", identificador por "_" (underscore ou underline). Qualquer coisa pode ser copiada para este registrado, mas ao tentar recuperar o conteúdo do mesmo, nada será retornado.
Outro registrador especial é o registrador matemático "=". Este registrador irá mudar o prompt para que seja digitada uma expressão matemática e, ao fazer o paste imediato, irá retornar o resultado da expressão. Note apenas que o paste deve ser feito logo após a expressão ter sido digitada; qualquer outro comando, mesmo de movimentação, irá remover o resultado.
E, lembrando, qualquer operação de yank ou delete irá copiar o conteúdo para o
registrador indicado. ["][A][d][2][w]
irá remover as duas próximas palavras
e adicionar as mesmas no registrador "a".