Bagaimana cara menyimpan sebagai file baru dan terus bekerja dengan yang asli di Vim?

362

Setiap kali saya menggunakan :savperintah, itu menyimpan file dengan nama baru dan membuka file baru terbuka di Vim.

Apakah mungkin untuk menyimpan file dengan nama baru tetapi tetap membuka yang asli untuk diedit?

vimguy
sumber
13
Saya datang dengan pertanyaan sebaliknya.
Cambunctious
4
@cuncunctious Me juga. Saya telah googling vim "save as"dan pertanyaan ini mengajarkan saya bahwa ada :saveasyang berfungsi seperti yang saya harapkan: menyimpan file yang ada dengan nama baru dan membuka file baru.
Jacktose

Jawaban:

526

Gunakan :wperintah dengan nama file:

:w other_filename
wilhelmtell
sumber
78
Selanjutnya, gunakan :w %:h/other_filenameuntuk menulis ke nama file di direktori yang sama dengan file terbuka.
loevborg
2
@ Ioevborg kapan bukan itu masalahnya? Saya hanya: w fname tanpa membaca komentar Anda dan perilakunya tampaknya menjadi default.
Blake
10
@ Cokemonkey11 Bukan perilaku default di vim untuk memiliki lokasi file saat ini sama dengan direktori kerja. Anda mungkin memiliki sesuatu di file vimrc Anda yang melakukan ini untuk Anda. Beberapa informasi lebih lanjut dapat ditemukan di sini vim.wikia.com/wiki/Set_working_directory_to_the_current_file
Derek
8
Saya baru saja mengkonfirmasi bahwa tanpa "%: h /" file tersebut akan disimpan di direktori tempat Anda berada ketika Anda membuka vim, bukan di mana file aslinya berada ....
RVC
7
Mungkin berguna untuk menyebutkan bahwa :w other_filenameakan menulis data ke other_filename hanya dan bukan file saat ini.
Ram Patra
270

Terima kasih atas jawabannya. Sekarang saya tahu bahwa ada dua cara "SIMPAN SAJA" di Vim.

Diasumsikan bahwa saya sedang mengedit hello.txt.

  • : w world.txt akan menulis konten hello.txt ke file world.txt sambil menjaga hello.txt sebagai buffer yang dibuka di vim.
  • : sav world.txt pertama-tama akan menulis konten hello.txt ke file world.txt, lalu tutup buffer hello.txt, akhirnya buka world.txt sebagai buffer saat ini.
Jianwen W.
sumber
27
:savtidak akan menutup buffer awal, itu akan menyembunyikannya. Secara default, buffer tersembunyi diturunkan, tetapi ini bisa diganti (dengan opsi 'tersembunyi' atau 'disembunyikan').
ZyX
7
Jadi, yeah ... :savlebih dekat ke "Save as" yang saya kenal.
skytreader
8
Dari bantuan Vim: :sav[eas][!] [++opt] {file}Jadi, :sav adalah pemendek untuk :saveas. Padahal, :wadalah jalan pintas untuk :[range]w[rite][!] [++opt] {file}. Dan semuanya ada di manual, hanya beberapa baris di atas / di bawah.
Atcold
23

Setelah menyimpan file baru, tekan

Ctrl-6

Ini adalah jalan pintas ke file alternatif

SergioAraujo
sumber
2
Untuk apa nilainya, menggunakan nvim 0.1.0 di bawah OS X 10.10.5, ini membutuhkan SHIFT-CTRL-6.
Aaron Mendez
shift-ctrl-6 pada versi Vim Homebrew pada OS X 11.
Mateusz Piotrowski
3

Perintah berikut akan membuat salinan di jendela baru. Jadi Anda dapat terus melihat file asli dan file baru.

:w {newfilename} | sp #
tivn
sumber