Saya telah menemukan bahwa saat menggunakan Vim di Windows Vim menyimpan file, .ext.swp
file yang dihapus saat menutup jendela Vim dan .ext~
file.
Saya berasumsi .ext.swp
file tersebut adalah cadangan sesi jika Vim crash. Apa tujuan dari .ext~
file tersebut? Apakah ini file cadangan permanen? Ini menjengkelkan karena saya ingin menyalin semua file yang saya kerjakan ke host saya, tanpa duplikat ini. Bagaimana saya bisa mematikan ini atau , jika ada untuk alasan yang baik, sembunyikan file ?
.ext.swp
.Jawaban:
The
*.ext~
file adalah file backup, yang berisi file seperti sebelum Anda mengeditnya.The
*.ext.swp
file swap file, yang berfungsi sebagai file kunci dan berisi sejarah undo / redo serta info internal yang kebutuhan lainnya Vim. Jika terjadi kerusakan, Anda dapat membuka kembali file Anda dan Vim akan mengembalikan status sebelumnya dari file swap (yang menurut saya sangat membantu, jadi saya tidak mematikannya).Untuk menonaktifkan pembuatan otomatis file cadangan, gunakan (dalam vimrc Anda):
Di mana
nowritebackup
perubahan perilaku "save" default Vim, yaitu:dan membuat Vim menulis buffer ke file asli (mengakibatkan risiko menghancurkannya jika terjadi kesalahan I / O). Tetapi Anda mencegah "melompati file" pada desktop Windows dengan itu, yang merupakan alasan utama bagi saya untuk memiliki
nowritebackup
di tempat.sumber
you prevent "jumping files" on the Windows desktop
. Cari di Google dan temukan jawaban ininobackup
dannowritebackup
? Apakah ada cara untuk menulis salinan file sebagai cadangan, tetapi tidak melakukan hal-hal ini menulis / menghapus / mengganti nama?backup
(sebagai lawan darinobackup
), maka Vim akan membuat cadangan (*.ext~
file). Ini sama sekali tidak berhubungan dengannowritebackup
.help backup-table
. Ternyata pengaturan tidaknobackup
atau tidaknowritebackup
, tetapi pengaturanbackupcopy=yes
juga menyelesaikan masalah "melompat". Ini bisa melukai perf, jadi untuk masing-masing merekaset backupdir=~/.vim/backup
di .vimrc atau _vimrc di windowsSaya pikir solusi yang lebih baik adalah menempatkan baris-baris ini di file vimrc Anda
Baris pertama untuk file cadangan, baris kedua untuk file swap. Slash ganda pada akhirnya memastikan bahwa tidak ada konflik dalam hal dua file memiliki nama yang sama, lihat komentar (pada saat edit ini opsi ini hanya diberikan untuk file swap, belum untuk file cadangan ). The
,.
memungkinkanvim
untuk menggunakan direktori saat ini jika mantan tidak ada.Anda harus membuat direktori di direktori home Anda bernama vimtmp agar ini berfungsi. Juga, periksa apakah cadangan diaktifkan di konfigurasi Anda (tambahkan
set backup
jika tidak).Dengan cara itu Anda mendapatkan manfaat dari kedua dunia, Anda tidak harus melihat file, tetapi jika ada sesuatu yang sia-sia Anda bisa mendapatkan file cadangan Anda dari vimtmp. Jangan lupa untuk membersihkan direktori keluar sesekali.
sumber
Untuk mematikan file-file itu, cukup tambahkan baris ini ke .vimrc (file konfigurasi vim pada OS berbasis unix):
sumber
akan mematikan cadangan. Anda juga dapat mengatur backupdir jika Anda masih menginginkan file cadangan tersebut tetapi di folder pusat. Dengan cara ini direktori kerja Anda tidak dikotori ~ file.
Anda menemukan informasi lebih lanjut tentang cadangan di bawah : cadangan .
sumber
Dan Anda juga dapat mengatur ekstensi cadangan yang berbeda dan tempat untuk menyimpan cadangan tersebut (saya lebih suka
~/.vimbackups
di linux). Saya dulu menggunakan cadangan "versi", melalui:Ini menetapkan ekstensi cadangan dinamis (
ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup
).sumber
set backupdir=~/.vimbackups
di ~ / .vimrc:help backupext
Masukkan baris ini ke Anda
vimrc
:set nobk nowb noswf noudf
"
nobackup
nowritebackup
noswapfile
noundofile
Di windows itu akan menjadi:
file untuk konfigurasi vim seluruh sistem untuk semua pengguna.
Pengaturan yang terakhir
noundofile
penting di Windows untuk mencegah pembuatan*~
file tilda setelah diedit.Saya berharap Vim memiliki garis yang disertakan secara default. Tidak ada yang suka direktori jelek.
Biarkan pengguna memilih jika dan bagaimana dia ingin mengaktifkan fitur file cadangan / undo terlebih dahulu.
Ini adalah bagian yang paling menyebalkan dari Vim.
Langkah selanjutnya mungkin mengatur:
set noeb vb t_vb=
"
errorbells
visualbell
untuk menonaktifkan bip dalam vim demikian juga :-)
sumber
Anda benar bahwa
.swp
file tersebut digunakan oleh vim untuk mengunci dan sebagai file pemulihan.Coba
set nobackup
masukkan vimrc Anda jika Anda tidak ingin file-file ini. Lihat Vim docs untuk berbagai opsi terkait cadangan jika Anda menginginkan keseluruhan, atau ingin memiliki file .bak sebagai gantinya ...sumber
Satu-satunya opsi yang berhasil bagi saya adalah meletakkan baris ini di file ~ / .vimrc saya
atur noundofile
Opsi lain yang merujuk ke file cadangan tidak mencegah pembuatan file temp berakhir dengan ~ (tilde)
sumber
.<filename>.un~
file sementara opsi lain hanya menghapus<filename>~
file.Saya harus menambahkan
set noundofile
ke ~ _gvimrcDirektori "~" dapat diidentifikasi dengan mengubah direktori dengan
cd ~
perintahsumber