Como salvar como um novo arquivo e continuar trabalhando no original no Vim?

362

Sempre que uso o :savcomando, ele salva o arquivo com um novo nome e abre o novo arquivo aberto no Vim.

É possível salvar o arquivo com um novo nome, mas manter o original aberto para edição?

vimguy
fonte
13
Eu vim com a pergunta oposta.
cambunctious
4
@cambunctious Eu também. Eu estava pesquisando no Google vim "save as"e essa pergunta me ensinou que existe uma :saveasque funciona exatamente como eu esperava: salva o arquivo existente com um novo nome e abre o novo arquivo.
Jacktose 29/03/19

Respostas:

526

Use o :wcomando com um nome de arquivo:

:w other_filename
wilhelmtell
fonte
78
Além disso, use :w %:h/other_filenamepara escrever em um nome de arquivo no mesmo diretório que o arquivo aberto.
precisa saber é o seguinte
2
@Ioevborg quando não é esse o caso? Eu apenas: w fname sem ler seu comentário e o comportamento parece ser o padrão.
Blake
10
@ Cokemonkey11 Não é um comportamento padrão no vim ter a localização do arquivo atual igual à do diretório de trabalho. Você provavelmente tem algo no seu arquivo vimrc que está fazendo isso por você. Alguns mais informações podem ser encontradas aqui vim.wikia.com/wiki/Set_working_directory_to_the_current_file
Derek
8
Eu só confirmou que sem a "%: h /" o arquivo será salvo no diretório em que estava quando você abriu vim, não onde o arquivo original ....
RVC
7
Pode ser útil mencionar que :w other_filenamegravará dados other_filename apenas no arquivo atual e não no atual.
Ram Patra
270

Obrigado pelas respostas. Agora eu sei que existem duas maneiras de "SALVAR COMO" no Vim.

Supondo que estou editando o hello.txt.

  • : w world.txt gravará o conteúdo de hello.txt no arquivo world.txt, mantendo hello.txt como o buffer aberto no vim.
  • : sav world.txt primeiro grava o conteúdo de hello.txt no arquivo world.txt, fecha o buffer hello.txt e abre world.txt como o buffer atual.
Jianwen W.
fonte
27
:savnão fechará o buffer inicial, ele o ocultará. Por padrão, os buffers ocultos são descarregados, mas isso pode ser substituído (com as opções 'hidden' ou 'bufhidden').
ZyX
7
Então, sim ... :savestá mais perto do "Salvar como" que eu conheço.
skytreader
8
Da ajuda do Vim: :sav[eas][!] [++opt] {file}Então, :sav é o encurtador para :saveas. Considerando que, :wé o atalho para :[range]w[rite][!] [++opt] {file}. E tudo está no manual, apenas algumas linhas acima / abaixo.
Atcold 20/10/14
23

Após salvar o novo arquivo, pressione

Ctrl-6

Este é um atalho para arquivo alternativo

SergioAraujo
fonte
2
Para o que vale a pena, usando o nvim 0.1.0 no OS X 10.10.5, isso requer SHIFT-CTRL-6.
Aaron Mendez
shift-ctrl-6 em uma versão Homebrew do Vim no OS X 11.
Mateusz Piotrowski
3

O comando a seguir criará uma cópia em uma nova janela. Assim, você pode continuar vendo o arquivo original e o novo arquivo.

:w {newfilename} | sp #
tivn
fonte