Davranışın kişisel yapılandırmamdan etkilenmediğinden emin olmak için, Vim'i kullanıcı tarafından yüklenen tüm yapılandırma dosyalarım yok sayacak şekilde başlatmak istiyorum , sanki Vim ilk kez yeni kurulmuş ve kullanıcı çalıştırmış gibi hemen.
Bu, SSS'de cevabın aşağıdaki komutla Vim'yi başlatmak olduğunu önermektedir:
vim -u NONE -U NONE -N -i NONE
Bu , yolun çoğunu alır , ancak runtimepath
seçenek yine de içerir ~/.vim
ve özellikle ~/.vim/after
, (yani daha sonra dosya türü algılamayı açar ve dosya türünü değiştirirsem, kod ~/.vim/after/syntax/the_relevant_filetype.vim
yürütülür).
Başlangıçta aşağıdaki komutları çağırarak bu özel sorunu giderebilirim *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... ama emin değilim:
- Bu sağlam bir çözümdür: Kullanıcı yapılandırmasının etkili olmasına neden olabilecek tek yol bunlar mı? Düşünmediğim başka bir şey var mı?
- İstenen sonucu elde etmenin daha iyi bir yolu var.
* --cmd
Veya -u vimrc
kabuk argümanlarını kullanarak veya basitçe elle yazarak.
EDIT : İşte düzeltmeye çalışıyorum sorun tür belirli bir örnek. (Her ne kadar ben henüz karşılaşmamış olabilir olası diğer sorunları çözmek için çözüm istiyorum istiyorum.):
İçeriği içeren ~ / .vim / after / ftplugin / c.vim dosyası oluşturun:
noremap i :echom "This is not default behaviour"<CR>
Artık yoksaymak istediğimiz, kullanıcı tarafından yüklenen bazı yapılandırmalarımız var. SSS tarafından önerilen çözümü test edelim.
Vim komutunu çalıştırın:
vim -u NONE -U NONE -N -i NONE
Komutları girin:
:filetype plugin on :set ft=c i
İstenen davranış : Vim, Ekle moduna girmelidir. Herhangi bir kullanıcı yapılandırması mevcut değilse ne yapardı.
Gözlemlenen davranış : Vim "Bu varsayılan davranış değil"
:cd ~
, ancak viminfo
dosyanın varsayılan konumu $ HOME'dadır ve bu da E138'e neden olabilir. Yeni, boş bir dizin oluşturma ve $ HOME için bunu kullanmak en iyi çözüm olabilir sanırım.
-u NONE
?
/tmp
daha iyi olabilir, bu benim ilk düşüncemdi, ama sonra / dev / null'u bir kara delik olarak seçtim. ... ya da benzeri bir şey HOME=$(mktemp -d) vim ...
.
-u NONE
mı? Sanırım hangi davranışa ihtiyacınız olduğuna bağlı.
HOME=/dev/null vim -u NONE
?