Vim'i düzenlediğim dosyanın mevcut girintili stiline nasıl uyarlayabilirim?


39

Bir dizi JavaScript projesi üzerinde çalışıyorum. Bu projelerin çoğunda, JavaScript dosyalarının girintisi 2 boşluktur, bu nedenle varsayılan girinti genişliğimi buna ayarlıyorum. Ancak diğer bazı projelerde 1 veya 4 olur.

Vim'den geçerli dosyada kullanılan stile bağlı olarak girintileme stilini değiştirmesini istemek için bir yol var mı?


Neden bu tür ayarları belirli bir dosya türü için .vimrc içine eklemiyorsunuz? :au BufEnter *.js :set shiftwidth=2. Bu tüm projeler için çalışıyor,
SibiCoder

1
@SibiCoder: Çünkü aynı dosya türü bile farklı projeler arasında farklı girinti stillerine sahip olabilir. (örneğin: aynı şirkete ait olmayan projeler)
thameera

*.*sadece bir kalıp. Dosya adı veya yolunu da kullanabilirsiniz. Veya, her dosya için verdiğim gibi benzer bir otomatik komut kullanabilirsiniz. Otomatik komutuna, geçerli dosyanın sekme genişliğini alıp bu dosyanın yolunu koymasını söyleyebilirsiniz. Oldukça kolay.
SibiCoder

Yanıtlar:


28

Yukarıda @Undo 'nun cevabına eklemek için. Tim Pope de aynı şeyi tpope / vim-sleuth'da yapmaya çalışan bir eklentiye sahip


5
Sleuth, deneyimlerime göre, tespit ediciden biraz daha iyi çalışıyor gibi görünüyor ve aynı zamanda dosya sisteminde bulunan diğer dosyalara bakarak yeni dosyalar için uygun girinti ayarlarını belirlemeye çalışacak.
jamessan

@ jamessan bunu bilmiyordu, bilmek güzeldi.
Dhruva Sagar

2
Lütfen eklenti önerisi yanıtlarıyla ilgili politikamızı okuyun ve sorunu çözmek için önerilen eklentiyi tam olarak nasıl kullanacağınızla ilgili bazı ayrıntılar ekleyin.
200_success

15

Ben kullanmadım, ancak ciaranm / detectorindent , aradığınız şey olabilir. Etkin gözüküyor (en son 25 gün önce güncellendi) ve istediğinizi yapar gibi görünüyor:

Girinti ayarlarını otomatik olarak algılamak için bir Vim eklentisi. Bu eklenti, aktif dosyada mevcut ayarlara bağlı olarak 'shiftwidth', 'genişletme sekmesi' ve 'sekme durdurma' seçeneklerini akıllıca ayarlamaya çalışan bir: DetectIndent komutu ekler.


Bu eklenti artık aktif geliştirme aşamasında değil. (Son güncelleme 3 sene önceydi .)
Mateen Ulhaq
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.