# Vim/Usando registros

O vim possui nove tipos de registros, cada tipo tem uma utilidade específica, por exemplo você pode usar um registro que guarda o último comando digitado, pode ainda imprimir dentro do texto o nome do próprio arquivo, vamos aos detalhes.
* O registro sem nome ""
* 10 registros nomeados de "0 a 9"
* O registro de pequenas deleções "-
* 26 registros nomeados de "a até z" ou de "A até Z"
* 4 registros somente leitura
* O registro de expressões "=
* Os registro de seleção e arrastar "*, "+ e "~
* O registro "buraco negro"
* Registro do último padrão de busca "/

## O registro sem nome ""

Armazena o conteúdo de ações como:
Para acessar o conteúdo deste registro basta usar as letras p ou P que na verdade são comandos para colar abaixo da linha atual e acima da linha atual (em modo normal)

## Registros nomeados de 0 a 9

O registro zero armazena o conteúdo da última cópia 'yy', à partir do registro 1 vão sendo armazenadas as deleções sucessivas de modo que a mais recente deleção será armazenada no registro 1 e os registros vão sendo incrementados em direção ao nono.
Deleção menores que uma linha não são armazenadas nestes registros, caso em que o vim usa o registro de pequenas deleções ou que se tenha especificado algum outro registro. Para saber mais exceções para este registro leia o manual "change.txt" à partir da linha 1011.

## Registro de pequenas deleções

Quando você deleta algo menor que uma linha o vim armazena os dados deletados neste registro.

## Registros nomeados de 'a até z' ou 'A até Z'

Você pode armazenar uma linha em modo normal assim:
Desse modo você guardou o conteúdo da linha no registro 'a' caso queira armazenar mais uma linha no registro 'a' use este comando
Neste outro caso apaguei a linha corrente adicionando-a ao final do registro 'a'.

## Registros somente leitura ":, "., "% e "#

Uma forma prática de usar registros em modo insert é usando Control-r
Observação: lembre-se que no vim o circunflexo representa (nos atalhos) a tecla control.
Em modo insert você pode repetir a última inserção de texto simplesmente pressionando

## Registro de expressões

Este registro na verdade é usando em algumas funções avançadas

## Registros de arrastar e mover

Use estes registros para armazenar e recuperar textos em modo gráfico veja 'quotestar' e 'quoteplus', quando a área de transferência não está disponível ou funcional.

## Registro buraco negro "_

Use este registro quando não quiser alterar os demais registros, por exemplo: se você deletar a linha atual,
Esta ação irá colocar a linha atual no registro numerado 1, caso não queira alterar o conteúdo do registro 1 apague para o buraco negro assim:

## Registros de buscas "/

Se desejar inserir em uma substituição uma busca prévia, você poderia fazer assim em modo de comandos:
Observação: veja que estou trocando o delimitador da busca para deixar claro o uso do registro de buscas "/"

## Manipulando registros

Em modo insert
Você pode manter registros pré-carregados assim:
Outro exemplo: pré-carregando o nome do arquivo no registro 'n'
coloque em seu ~/.vimrc
Como foi atribuído ao registro 'n' o conteúdo de @%, ou seja, o nome do arquivo, você pode fazer algo assim em modo insert:
E o nome do arquivo será inserido

## Listando os registros atuais

Digitando o comando
ou ainda
O vim mostrará os registros numerados e nomeados atualmente em uso

## Listando arquivos abertos

Suponha que você abriu vários arquivos txt assim:
Para listar os arquivos aberto faça:
Usando o comando acima o vim exibirá a lista de todos os arquivos abertos, após exibir a lista você pode escolher um dos arquivos da lista, algo como:
Para editar arquivos em sequência faça as alterações no arquivo atual e acesso o próximo assim:
O comando acima diz 'grave' --> w e próximo 'next' --> n

### Dividindo a janela com o próximo arquivo da lista de buffers

O comando acima é uma abreviação de 'split next', ou seja, dividir e próximo.

## Como colocar um pedaço de texto em um registro?

Para usar você pode:
Em movo inserte faça:

## Como criar um registro em modo visual?

Inicie a selecão visual com o atalho
pressione a letra 'j' até chegar ao ponto desejado, agora faça
pressione 'v' para sair do modo visual

## Como definir um registro no vimrc?

Bom, você pode criar uma variavel no vim assim:
Pode também dizer ao vim algo como...
Neste cado estou dizendo a ele que guarde na variável 'd' at d, o valor da data do sistema 'strftime("%d-%m-%Y %H:%M")'
Então cole isto no vimrc
Pode mapear tudo isto
As atribuições acima correspodem a:
E digitar ,d normalmente
Desmistificando o strftime
e inserir em modo normal assim:
ou usar em modo insert assim

## Como selecionar blocos verticais de texto?

agora use as letras h,l,k,j como setas de direção até finalizar podendo guardar a seleção em um registro que vai de 'a' a 'z' exemplo:
Em modo normal você pode fazer assim para guardar um parágrafo inteiro em um registro
O comando acima quer dizer

## Referências

* http://rayninfo.co.uk/vimtips.html