Vim Register utilização em modo Ex
-
18-09-2019 - |
Pergunta
Potencialmente 2 perguntas em um. Eu gostaria de saber como fazer referência a um registo em modo Ex.
Por exemplo, eu estou editando um arquivo e eu quero salvar o arquivo com um timestamp (ou apenas datestamp realmente) anexado a ele.
Eu sei que posso configurar o registro para o valor de um shell comandos de saída usando:
:let @a = system("date +\"%Y-%m-%d\"")
Existe alguma excluir a referência este registo e inserir o seu valor em um comando Ex? Algo como:
:w testfile.<value of "a register>
Copiar para a área de transferência e colar seria bom, mas fazê-lo de uma forma mais genérica / programitic para a construção de outros comandos no futuro seria bom.
Solução
Existem duas abordagens para fazer isso, mas provavelmente não são exatamente o que você quer.
-
Use
<CTRL-R>a
para inserir o conteúdo na linha de comando atual. Veja:help c_CTRL-R
para mais informações. -
Use
exe
para permitir a inserção de variáveis ??na expressão. Veja:help :exe
e:help 41.3
.:exe 'w testfile.' . @a
Outras dicas
Assumindo registo "a", você pode digitar:
<CTRL-R>a
que irá introduzir o valor de registrar uma linha naquele ponto. Isso pode ser usado no modo de inserção também.