Jak zapisać jako nowy plik i kontynuować pracę nad oryginalnym plikiem w Vimie?


362

Ilekroć korzystam z :sav polecenia, zapisuje plik pod nową nazwą i otwiera nowy plik otwarty w Vimie.

Czy można zapisać plik pod nową nazwą, ale zachować oryginalny do edycji?


13
Przyszedłem z odwrotnym pytaniem.
kambuzowy

4
@cambunctious Me also. Byłem google vim "save as"i to pytanie nauczyło mnie, że istnieje taki, :saveasktóry działa tak, jak się spodziewałem: zapisuje istniejący plik pod nową nazwą i otwiera nowy plik.
Jacktose

Odpowiedzi:


526

Użyj :wpolecenia z nazwą pliku:

:w other_filename

78
Ponadto użyj :w %:h/other_filenamedo zapisu do nazwy pliku w tym samym katalogu, co otwarty plik.
loevborg

2
@Ioevborg, kiedy tak nie jest? Po prostu: w fname bez czytania twojego komentarza, a zachowanie wydaje się być domyślne.
Blake,

10
@ Cokemonkey11 Nie jest domyślnym zachowaniem w vimie, aby położenie bieżącego pliku było takie samo jak katalogu roboczego. Prawdopodobnie masz coś w swoim pliku vimrc, który robi to za Ciebie. Więcej informacji można znaleźć tutaj vim.wikia.com/wiki/Set_working_directory_to_the_current_file
Derek

8
Właśnie potwierdziłem, że bez "%: h /" plik zostanie zapisany w katalogu, w którym byłeś podczas otwierania vima, a nie tam, gdzie był oryginalny plik ....
RVC

7
Warto wspomnieć, że :w other_filenamezapisuje dane other_filename tylko w bieżącym pliku, a nie w bieżącym pliku.
Ram Patra

270

Dziękuję za odpowiedzi. Teraz wiem, że istnieją dwa sposoby „ZAPISZ JAKO” w Vimie.

Zakładam, że edytuję hello.txt.

  • : w world.txt zapisze zawartość hello.txt w pliku world.txt, zachowując hello.txt jako otwarty bufor w vimie.
  • : sav world.txt najpierw zapisze zawartość hello.txt w pliku world.txt, następnie zamknie bufor hello.txt, w końcu otworzy world.txt jako bieżący bufor.

27
:savnie zamknie początkowego bufora, ukryje go. Domyślnie ukryte bufory są rozładowywane, ale można to zmienić (z opcjami „ukryte” lub „ukryte”).
ZyX

7
Więc tak ... :savjest bliżej znanego mi „Zapisz jako”.
skytreader

8
Z pomocy Vima: :sav[eas][!] [++opt] {file}Tak więc :sav jest skrótem do :saveas. Natomiast :wskrót to :[range]w[rite][!] [++opt] {file}. I wszystko jest w instrukcji, tylko kilka linii powyżej / poniżej.
Atcold,


3

Następujące polecenie utworzy kopię w nowym oknie. Możesz więc nadal widzieć zarówno oryginalny plik, jak i nowy plik.

:w {newfilename} | sp #
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.