.Vimrc può essere diviso in più file?


11

Supponiamo che io abbia alcune centinaia di rimappature personalizzate con iabper Java e altre centinaia o più di nuove mappature per Haskell, quindi vorrei dividerle in file diversi per renderlo più gestibile. Quello che sto cercando è creare qualcosa del genere:

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

Dove .vimrc potrebbe assomigliare a qualcosa

import java
import haskell

È possibile fare qualcosa del genere o sto semplicemente complicando troppo le cose? Immagino che ciò che sto cercando di raggiungere sia ciò che si fa in LaTeX con il \inputcomando ...


2
C'è un motivo per cui non li metti ~/.vim/after/ftplugin/$language.vim?
wchargin,

1
Non proprio, dovrei? Cosa dovrebbe entrare after/ftplugin?
lindhe,

2
Se si scrive un file chiamato, ad esempio, ~/.vim/after/ftplugin/java.vimverrà automaticamente eseguito ogni volta che si apre un javafile. Questo sembra essere quello che vuoi.
wchargin,

Risposte:



11

Sì, il comando vim che stai cercando è :sourceo :runtimeper estrarli runtimepath.

Ad esempio, potresti farlo nel tuo .vimrc:

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

presumere ~/.vimsia nel tuo runtimepath(che è per impostazione predefinita).

È inoltre possibile eliminare gli script nella ~/.vim/plugindirectory; vedere il plug-in di scrittura nei documenti. Vim esegue automaticamente tutti gli script nella directory dei plugin.


Freddo. Esiste una convenzione di denominazione per ciò che ho chiamato qui custom, che non è proprio plugin ma piuttosto file che avrebbero potuto essere presenti .vimrc?
lindhe,

1
@ Lindh-E Non che ne sia a conoscenza. Probabilmente vuoi usare qualcosa di cui sei sicuro che non verrà dato significato da una futura versione di VIM. Dal momento che si sforzano di rimanere compatibili con i nomi di file 8.3, suggerirei un nome di directory> 8 caratteri.
derobert il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.