Yorum yapmak için vim'in işleyeceği bir dosyaya yorum yerleştirmenin bir yolu var mı?


30

Örneğin, adı olan gitconfig( .baştaki) bir dosyanın vim tarafından olduğu gibi tanınmasını istiyorsanız, bunu filetype=gitconfigyorumda veya dosyanın kendisinde benzer bir şekilde belirtmenin bir yolu var mı? Not, bunun sistemler arasında çalışmasını istiyorum, bu nedenle vim'in başlangıç ​​dosyalarını değiştirmek tercih edilmez.

Yanıtlar:


45

Bu modelineözellik gibi geliyor (çevrimiçi yardıma bakınız). Gitconfig'de, dosyanın başına veya sonuna yakın, aşağıdakine benzer bir modelin olabilir:

# vi: ft=gitconfig

Bu, modellerin etkinleştirilmesini gerektirir ve bir güvenlik tehlikesi oluşturabildiklerinden, çoğu sistemde varsayılan olarak devre dışı bırakılırlar.

Biraz daha fazla işe yarayabilecek başka bir yaklaşım ise .vimiçeren bir dosya oluşturmaktır.

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

ve ~/.vim/ftdetecttüm sistemlerinize bırakın .


Mükemmel, modelin aradığım şeydi. modelin etkin, ancak kurulumumdaki başka bir şeye engel oluyor gibi görünüyor. Önerilen satırınızı dosyanın üstüne koyarsam, yeniden açtıktan sonra set filetype?dosya 'conf' türünü gösterir.
Murali Suriar

Belki değerin nereden geldiğini :verbose set filetypegörmek için kullanabilirsiniz conf- bir yerde vim'in sistem varsayılan dosya türü ayarlarını tahmin ediyorum.
jw013

görünüşe göre en son / usr/share/vim/vim73/filetype.vim'den ayarlandı. Neden sistem düzeyinde dosya türü tespiti, dosyanın kendisine koyduğum yönergeyi geçersiz kılar?
Murali Suriar

vim'i root olarak mı kullanıyordun? evet ise, modelinin yüklenmeyeceğini düşünüyorum.
elias

Ayrıca modelinesseçeneğin değerini de kontrol edin . :set modelines?Sıfıra ayarlanmışsa, modelini işlemez.
Christian Long,

1

Bir sözdizimi dosyası oluşturabilir ve bunu vimin share/syntaxdizinine yerleştirebilirsiniz (Debian Lenny'de /usr/share/vim/vim71/syntax(dağıtımınız değişebilir)).

Vim'in sözdizimi formatındaki dokümanlar burada: http://vimdoc.sourceforge.net/htmldoc/syntax.html

Internet'te bir yerde hazır bir sözdizimi dosyası bulabilirsin, ama bunu senin için bir egzersiz olarak bırakacağım.

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.