Bisakah .vimrc dibagi menjadi beberapa file?


11

Katakanlah saya memiliki beberapa ratus pemetaan ulang kustom dengan iabuntuk Java dan beberapa ratus pemetaan ulang lainnya untuk Haskell, maka saya ingin membagi ini menjadi file yang berbeda untuk membuatnya lebih mudah dikelola. Yang saya cari adalah membuat sesuatu seperti ini:

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

Di mana .vimrc mungkin terlihat seperti

import java
import haskell

Apakah hal seperti ini mungkin dilakukan, atau apakah saya hanya terlalu rumit? Saya kira apa yang saya coba capai adalah apa yang dilakukan seseorang di LaTeX dengan \inputperintah ...


2
Apakah ada alasan Anda tidak memasukkan ini ~/.vim/after/ftplugin/$language.vim?
wchargin

1
Tidak juga, bukan? Apa yang seharusnya masuk after/ftplugin?
lindhe

2
Jika Anda menulis file bernama, misalnya ~/.vim/after/ftplugin/java.vim, itu akan secara otomatis dijalankan setiap kali Anda membuka javafile. Ini sepertinya yang Anda inginkan.
wchargin

Jawaban:



11

Ya, perintah vim yang Anda cari adalah :sourceatau :runtimeuntuk menarik mereka runtimepath.

Misalnya, Anda dapat melakukan ini di .vimrc:

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

anggapan ~/.vimada di Anda runtimepath(yang secara default).

Anda juga bisa meletakkan skrip Anda di ~/.vim/plugindirektori; lihat tulis-plugin di dokumen. Vim secara otomatis menjalankan semua skrip di direktori plugin.


Keren. Apakah ada konvensi penamaan untuk apa yang saya sebut di sini custom, yang bukan plugin tetapi file yang bisa juga di .vimrc?
lindhe

1
@ Lindh-E Bukannya aku sadar. Anda mungkin ingin menggunakan sesuatu yang Anda yakin tidak akan diberi arti oleh versi vim di masa depan. Karena mereka berusaha untuk tetap kompatibel dengan nama file 8,3, saya akan menyarankan nama direktori> 8 karakter.
derobert
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.