.Vimrc birden fazla dosyaya bölünebilir mi?


11

Diyelim ki iabJava için yüzlerce özel yeniden eşleme ve Haskell için yüzlerce yeniden eşleme var, o zaman bunları daha yönetilebilir hale getirmek için farklı dosyalara bölmek istiyorum. Aradığım şey böyle bir şey yaratmak:

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

.Vimrc gibi bir şeye benzeyebilir

import java
import haskell

Bunun gibi bir şey yapmak mümkün mü yoksa sadece aşırı karmaşıklaşıyor muyum? Sanırım elde etmeye çalıştığım şey LaTeX'te şu \inputkomutla ne yapıyor ...


2
Bunları koymamanın bir nedeni var mı ~/.vim/after/ftplugin/$language.vim?
wchargin

1
Gerçekten değil mi? Ne girmeli after/ftplugin?
lindhe

2
Örn. Adlı bir dosya yazarsanız, dosyayı ~/.vim/after/ftplugin/java.vimher açtığınızda otomatik olarak çalıştırılır java. Bu istediğin gibi görünüyor.
wchargin

Yanıtlar:


5

Ftplugins arıyorsunuz. Amaçları bu.

Eşlemelerinizi, ayarlarınızı, kısaltmalarınızı, komutlarınızı ... yerel olarak tanımlamayı unutmayın. Aksi takdirde yüklendikten sonra diğer tamponları parazitleyeceklerdir.

İşte daha eksiksiz cevaplar:


11

Evet, aradığınız vim komut :sourceveya :runtimeonları çekmeye runtimepath.

Örneğin, bunu şu adreste yapabilirsiniz .vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

varsayarsak ~/.vimsenin içindedir runtimepath(ki bu varsayılan olarak).

Ayrıca komut dosyalarınızı ~/.vim/plugindizine bırakabilirsiniz ; bkz . belgelerdeki yazma eklentisi . Vim otomatik olarak eklenti dizinindeki tüm komut dosyalarını çalıştırır.


Güzel. Burada eklediğim için customoldukça eklentiler değil, aynı zamanda içinde bulunabilecek dosyalar için herhangi bir adlandırma kuralı var .vimrcmı?
lindhe

1
@ Lindh-E Farkında olduğumdan değil. Muhtemelen gelecekteki bir vim sürümü tarafından anlam verilmeyeceğinden emin olduğunuz bir şeyi kullanmak istersiniz. 8.3 dosya adlarıyla uyumlu kalmaya çalıştıkları için,> 8 karakterden oluşan bir dizin adı öneririm.
derobert
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.