Vim'in belirli dosya türleri için olayları kaydetmesini önleme


12

Bu yığın akışı sorusuna eklemek için .vimrc, belirli dosya uzantılarının (örneğin .gpgdosyalar) 'özel düzenlemesini' sağlamak için ne yazılmalıdır ?

Oturumun etkinliğinden ödün vermeden, kayıtlar, arama geçmişi, komut geçmişi, görünümler, takaslar vb. Dahil olmak üzere yapılan işlerle ilgili hiçbir bilgi kaydedilmemelidir. gpgDosyalar için bu vim eklentisini kullanabilirsiniz , ancak eklentiyi düzenlemenin yanı sıra, biri bu tartışılan fikirleri keyfi dosya türlerine genişletir?

Muhtemelen aşağıdaki komutları kullanacağız,

if <ft in privacy_ext_list>
  set noswapfile
  set noundofile
  set viminfo=
endif 

ancak uygun koşullu ifadenin yanı sıra eksik olan ne?

Ayrıca, Vimscript ile bir dizi dosya uzantısı oluşturmanın ve ardından geçerli dosya türünün dizi içinde olup olmadığını değerlendirmenin bir yolu var mı?


6
@Carpetsmoker Bence bu soru daha geniş. Yazar sadece belirli bir dosya türünde bir arabellekte parametrelerin nasıl ayarlanacağını sormakla kalmıyor, aynı zamanda gizliliği sağlamak için hangi parametrelerin ayarlanacağını da belirliyor. Bu kesinlikle belli değil ya da merkezi bir yerde toplanmış, bu yüzden iyi bir soru olduğunu düşünüyorum.
Andrew Ferrier

Yanıtlar:


6

.vimrcHassas dosyaların sızmasını önlemek istiyorsanız , ayarlamanız gereken ayarların tam listesi .

set nobackup
set nowritebackup
set noundofile
set noswapfile
set viminfo=""
set noshelltemp
set history=0
set nomodeline
set secure

Hassas dosyanızı düzenlemek istediğinizde .vimrc_secureVim adında yeni bir yapılandırma dosyası oluşturmanızı ve Vim ile çalıştırmanızı vim -u ~/.vimrc_secure(veya bir komut dosyası / takma ad oluşturmanızı) öneririm . Bu, kötü amaçlı bir eklenti veya buggy özelliği riskini en aza indirir.


Ben (daha sonra söylediğin gibi kullanıcı [böylece de kabuk geçmişinin dışında tutmak] sağlar) gibi .vimrc_securebağımsız anlamda bu gibi, ama kullanmak hiç kaynak olmaz , doğru mu? Mahremiyet sevinci, konforun kötü niyetli eklenti veya buggy özelliği ile temelde kusurlu olmadığı sürece, azaltılmış konfor maliyetine gelmemelidir. Bilinmeyenlerin riskine vurgu yapılsa da, elbette, çözümünüzü koşullu olarak sarmanın bir yolu olmalı ....vimrc:e private filevim -u ~/.vimrc-incognito~/.vimrc
HAL 9001

1
Unutmak çok kolay, basit bir nedenle ayrı bir vimrc dosyası kullanmanızı tavsiye etmem. Bu autocmd gibi bir şey: au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifsihri sizin için yapmalı ve unutmak imkansız.
Martin Tournoij

@Carpetsmoker, ne demek oluyor &l:cm != ""?
Joker

1
@Wildcard Ehm .... İstediğim gibi görünüyor &cryptmethod, bu ayara işaret ediyor. l:Bölüm bir hata (benim yorumu düzenlemek benim özel mod yetkilerini kullanmıştır) idi. Bunu işaret ettiğiniz için teşekkürler!
Martin Tournoij

@Carpetsmoker, yorumunuzu biraz açar mısınız? Burada bir iş parçacığı oluşturdum: vi.stackexchange.com/questions/6195/…
Mateusz Piotrowski
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.