Salvar uma macro recém-criada no vimrc

14

Às vezes eu crio macros. Às vezes, crio a mesma macro várias vezes.

Às vezes me canso de criar a mesma macro novamente. Posso armazenar macros? Posso carregar uma predefinição de macros? Posso fazer uma macro e salvá-la para sempre?

sensorario
fonte

Respostas:

17

Sim você pode! Existem algumas maneiras de fazer isso. Por padrão, todos os registros serão salvos no seu arquivo viminfo e carregados assim que você iniciar o vim. Esta é a maneira mais fácil. No entanto, não é infalível. Cada registro será perdido se você acidentalmente gravar / puxar sobre ele.

A melhor maneira de salvar uma macro específica é colocá-la no seu .vimrc. Por exemplo, digamos que você queira fooser salvo na macro a. Isso pode ser alcançado com:

let @a='foo'

no seu vimrc. Se você já possui suas macros, pode digitar

ilet @a='<C-r><C-r>a'<esc>

para colar o conteúdo atual da macro, se você não quiser digitar tudo novamente.


Obrigado a Andrew Keeton por apontar <C-r><C-r>

James
fonte
Você provavelmente vai querer usar <C-r><C-r>(dois, em vez de um) para inserir o texto literalmente
Andrew Keeton
1
@AndrewKeeton Ooh, grande melhoria. Obrigado por me deixar saber que
James
<c-r><c-r>não funcionará se sua macro contiver uma sequência de teclas especial, como <c-right>, por exemplo , "apnão tiver esse problema.
dedowsdi