VIM: Salve um arquivo como um nome de arquivo diferente, mas mantenha: w como nome do arquivo atual

4

Como uma espécie de controle de versão de pobre, eu preciso salvar um arquivo someFile.c como someOtherFile.c , mas eu quero que :w continue salvando como someFile.c . Isso é possível?

O ambiente é o Windows XP SP3, mas eu tenho uma instalação do Cygwin aqui para que eu possa fazê-lo na instância do Cygwin, se isso ajudar.

Obrigado.

    
por dotancohen 19.04.2012 / 00:22

2 respostas

15

Sim. Se você usar :w someOtherFile.c , ele gravará nesse arquivo, mas continuará editando someFile.c .

Minha resposta também é usada para vincular a uma resposta de estouro de pilha que forneceu o link para as folhas de dicas de comandos do VIM. Essa resposta já foi excluída por estar fora do tópico para esse site.

Aqui está o conteúdo original dessa resposta, escrito pelo usuário David

Aqui estão alguns que eu marquei no passado:

Os cheatsheets dos comandos do Linux:

por 19.04.2012 / 00:51
3

Você poderia colocar um autocommand como este em seu ~ / .vimrc:

:au! BufWrite * execute "w" expand("%") . strftime(".%y%m%d.%H%M%S")

Isso salvará uma cópia do arquivo atual em um arquivo com o mesmo nome, mas com a data e hora atuais anexadas sempre que você salvar o arquivo original. Isso é provavelmente mais do que você quer, mas você pode modificá-lo para trabalhar com apenas determinados tipos de arquivos, ou colocar suas cópias em um diretório especial, etc.

Eu costumava usar algo semelhante para fazer backups de certos arquivos de configuração que são frequentemente alterados.

    
por 19.04.2012 / 00:52