Ketika saya mengedit file, Vim cenderung membuat file bernama , yang menurut saya mengganggu. Dari , saya melihat bahwa opsi menekan pembuatan file swap..filename.swp
vim -h
-n
Apakah ada arahan vimrc yang dapat saya gunakan untuk menonaktifkan file swap secara default?
Apa tujuan dari swap file, dan fungsi apa yang akan saya lewatkan dengan menekannya?
vimrc
crash-recovery
swap-file
200_sukses
sumber
sumber
noswapfile
seperti yang disarankan di bawah ini. Saya akhirnya menyerah dan mematikannya, karena ternyata manfaatnya lebih besar daripada gangguan - buuuuuut, saya sebenarnya tidak ingat apa yang meyakinkan saya untuk mengembalikan penggunaan file swap. Mungkin komputer saya mogok dan saya tidak dapat mengembalikan beberapa file yang hilang, yang mungkin sepele dengan file swap dihidupkan.Jawaban:
Alasan untuk bertukar file
Swap file menyimpan perubahan yang Anda buat pada buffer. Jika Vim atau komputer Anda mogok, mereka memungkinkan Anda untuk memulihkan perubahan itu.
Swap file juga menyediakan cara untuk menghindari beberapa instance Vim dari mengedit file yang sama. Ini dapat berguna pada sistem multi-pengguna atau hanya untuk mengetahui apakah Anda memiliki Vim lain yang sudah mengedit file.
Menonaktifkan file swap
Jika Anda ingin menonaktifkan pembuatan file swap sepenuhnya (yang tidak saya sarankan), maka Anda dapat menambahkan
set noswapfile
ke file.vimrc
. Ini menetapkan nilai global opsi. Anda kemudian dapat menimpanya untuk buffer tertentu dengan menggunakan:setlocal swapfile
saat menjalankan Vim.Mengatur file swap
Jika masalah Anda lebih tentang file tambahan yang tersebar di seluruh sistem file Anda, maka Anda dapat menggabungkan semua file swap di satu tempat. Misalnya, buat
~/.vim/tmp
direktori lalu tambahkanuntuk Anda
.vimrc
. The'directory'
pilihan berisi daftar direktori yang Vim akan gunakan untuk mencoba dan menyimpan file swap.The
^=
sintaks untuk:set
prepends nama direktori ke kepala daftar, jadi Vim akan memeriksa direktori yang pertama.Di
//
akhir nama direktori memberitahu Vim untuk menggunakan path absolut ke file untuk membuat file swap sehingga tidak ada tabrakan antara file dengan nama yang sama dari direktori yang berbeda.Perhatikan bahwa ini akan mencegah Vim memperhatikan ketika ada banyak pengguna yang mencoba mengedit file yang sama. Karena file swap tidak di direktori yang sama dengan file asli, Vim pengguna lain tidak akan tahu tentang file swap dan tidak akan memperingatkan mereka bahwa file itu sudah diedit.
sumber
vim-auto-save
. Tidakkah ini mencemaskan kebutuhan untuk menukar file?vim temp.txt --some-command-that-disable-swap
? Kasus penggunaan saya adalah beberapa pengamat akan terus mengawasi setiap perubahan dalam direktori, jadi hanya pada saat itu saya ingin menonaktifkan swap untuk mencegah tabrakan.