Belirli dosya türleri için yazım denetimi nasıl etkinleştirilir?


11

Ruby ve Markdown dosyaları arasında çok dolaşıyorum. set spellBir *.mddosyayı açtığımda otomatik olarak ayarlayabileceğim , ancak bir dosyayı açtığımda ayarlayabileceğim bir yol var mı *.rb?


Bunu buldum, ama istediğim gibi çalıştığını sanmıyorum ... ajayfromiiit.wordpress.com/2006/06/02/…
Sos McBoss

Yanıtlar:


15

Belirli bir dosya türü için bir seçenek belirlemenin en iyi yolu otomatik komutları kullanmaktır.

Burada şuna böyle bir şey ekleyebilirsiniz .vimrc:

autocmd FileType markdown setlocal spell

Bu satır, setlocal spellarabellek dosya türü işaretleme olarak ayarlandığında komutu tetikler . autocommand komutunu, düzenlediğiniz dosyanın uzantısına göre aşağıdaki gibi bir şeyle de kullanabilirsiniz:

autocmd BufRead,BufNewFile *.md setlocal spell

Daha fazla bilgi için :h :autocmdve :h autocmd-events.


DÜZENLEME Otomatik komutları kullanmak bunu yapmanın en iyi yolu değildir.

İlk olarak, otomatik komutları kullanıyorsanız, bunları bir yere koymayı unutmayın augroup:

augroup markdownSpell
    autocmd!
    autocmd FileType markdown setlocal spell
    autocmd BufRead,BufNewFile *.md setlocal spell
augroup END

Bu şekilde vimrc'nizi birkaç kez kaynak yaparsanız, otomatik komutlar birkaç kez istiflenmez ve çalıştırılmaz.

Şimdi bir ftplugin kullanmak daha iyi bir çözüm olacaktır. Bunu yapmak için dosyayı oluşturmak istersiniz ~/.vim/after/ftplugin/markdown.vim.

Bu dosya, arabellek dosya türü olarak ayarlandığında markdownve sonra ftpluginvarsayılan olarak Vim ile birlikte sağlandığında (bu şekilde zaten var olan ayarları kaybetmezsiniz) kaynaklanır.

Bu dosyaya şunları ekleyebilirsiniz:

setlocal spell

Burada kullanmak zorunda setlocalyerine setayarlar sadece tüm tampon mevcut tampon uygulanır ve olmayacaktır emin olmak için.

İlgili ilginç bazı yardım konuları:


4
Çok teşekkürler! Bu benim için çalıştı:autocmd FileType latex,tex,md,markdown setlocal spell
Sos McBoss

Sizin için yararlı olduğuna sevindim :-)
statox
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.