Ir para o conteúdo

Como definir um registrador no vimrc?

Se você não sabe ainda como editar preferências no Vim leia antes o capítulo Como editar preferências no Vim.

Você pode criar uma variável no vimrc assim:

Comando Descrição
let var="foo" define foo para var
echo var mostra o valor de var

Pode também dizer ao Vim algo como...

:let @d=strftime("%c")<Enter>
Neste caso estou dizendo a ele que guarde na variável 'd', o valor da data do sistema strftime("%c") ou então cole isto no vimrc:
let @d=strftime("%c")
A diferença entre digitar diretamente um comando e adicioná-lo ao vimrc é que uma vez no vimrc o registrador em questão estará sempre disponível, observe também as sutis diferenças, um Enter inserido manualmente é apenas uma indicação de uma ação que você fará pressionando a tecla especificada, e por isso não aparece na versão do vimrc; nos mapeamentos, por outro lado, o Enter precisa ser escrito como <cr>. Veja ainda que no vimrc os dois pontos : somem.

Pode mapear tudo isto

let @d=strftime("%c")
imap ,d <c-r>d
nmap ,d "dp
As atribuições acima correspondem a:

  1. Guarda a data na variável 'd'

  2. Mapeamento para o modo de inserção "imap" digite ,d

  3. Mapeamento para o modo normal "nmap" digite ,d

E digitar ,d normalmente

Desmistificando o strftime

Formato Significado
%d dia
%m mês
%Y ano
%H hora
%M minuto
%c data completa

Use :h strftime para a ajuda completa sobre a função.

e inserir em modo normal assim:

"dp
ou usar em modo de inserção assim:
Ctrl-r d