Come salvare come nuovo file e continuare a lavorare su quello originale in Vim?


362

Ogni volta che utilizzo il :savcomando, salva il file con un nuovo nome e apre il nuovo file aperto in Vim.

È possibile salvare il file con un nuovo nome ma mantenere quello originale aperto per la modifica?


13
Sono venuto con la domanda opposta.
generoso

4
@cambunctious Anche a me. Stavo cercando su Google vim "save as"e questa domanda mi ha insegnato che esiste un file :saveasche funziona esattamente come mi aspettavo: salva il file esistente con un nuovo nome e apre il nuovo file.
Jacktose,

Risposte:


526

Utilizzare il :wcomando con un nome file:

:w other_filename

78
Inoltre, utilizzare :w %:h/other_filenameper scrivere in un nome file nella stessa directory del file aperto.
loevborg,

2
@Ioevborg quando non è così? Solo: w fname senza leggere il tuo commento e il comportamento sembra essere il valore predefinito.
Blake,

10
@ Cokemonkey11 Non è un comportamento predefinito in vim avere la posizione del file corrente uguale alla directory di lavoro. Probabilmente hai qualcosa nel tuo file vimrc che lo sta facendo per te. Alcune ulteriori informazioni sono disponibili qui vim.wikia.com/wiki/Set_working_directory_to_the_current_file
Derek

8
Ho appena confermato che senza "%: h /" il file verrà salvato nella directory in cui ti trovavi quando hai aperto vim, non dove si trovava il file originale ....
RVC

7
Può essere utile menzionare che :w other_filenamescriverà i dati other_filename solo sul file corrente e non.
Ram Patra,

270

Grazie per le risposte Ora so che ci sono due modi di "SALVA COME" in Vim.

Suppongo che sto modificando hello.txt.

  • : w world.txt scriverà il contenuto di hello.txt nel file world.txt mantenendo hello.txt come buffer aperto in vim.
  • : sav world.txt scriverà prima il contenuto di hello.txt nel file world.txt, quindi chiuderà il buffer hello.txt, infine aprirà world.txt come buffer corrente.

27
:savnon chiuderà il buffer iniziale, lo nasconderà. Per impostazione predefinita, i buffer nascosti vengono scaricati, ma questo può essere ignorato (con opzioni "nascoste" o "nascoste").
ZyX

7
Quindi, sì ... :savè più vicino al "Salva con nome" che ho conosciuto.
skytreader

8
Dall'aiuto di Vim: :sav[eas][!] [++opt] {file}Quindi, :sav è l'abbreviazione di :saveas. Considerando che, :wè la scorciatoia per :[range]w[rite][!] [++opt] {file}. E tutto è nel manuale, solo poche righe sopra / sotto.
Atcold,

23

Dopo aver salvato il nuovo file, premere

Ctrl-6

Questo è un collegamento a un file alternativo


2
Per quello che vale, usando nvim 0.1.0 sotto OS X 10.10.5, questo richiede SHIFT-CTRL-6.
Aaron Mendez,

shift-ctrl-6 su una versione Homebrew di Vim su OS X 11.
Mateusz Piotrowski

3

Il seguente comando creerà una copia in una nuova finestra. Quindi puoi continuare a vedere sia il file originale che il nuovo file.

:w {newfilename} | sp #
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.