Comprend dans vimrc?

11

Est-il possible d'inclure des fichiers externes à sourcer dans le fichier vimrc?

Est-ce aussi simple que d'ajouter source somefile?

leeand00
la source

Réponses:

15

Contrairement à :source, :runtimen'a pas besoin d'un chemin absolu pour travailler. C'est beaucoup mieux que :sourcepour construire des configurations portables.

Tu vois :help :runtime.

Dans l'exemple suivant, nous demandons à Vim de rechercher un vimrcfichier dans les répertoires donnés par la runtimepathvariable. Étant donné qu'il ~/.vim/s'agit du premier répertoire de la liste, runtime vimrcfonctionne comme :source ~/.vim/vimrcsans avoir besoin de fournir un chemin dépendant du système.

Dans ~/.vimrc:

runtime vimrc
romainl
la source
4

La réponse doit dépendre de ce que vous souhaitez disperser dans plusieurs fichiers. Il existe plusieurs façons d'avoir une configuration dans plusieurs fichiers. Remarque: la différence entre runtimeet sourcea été décrite, je ne dirai rien à ce sujet.

Donc. Vous devrez également prendre en compte le quoi. De nos jours, nous avons rarement besoin d'utiliser soou rude .vimrc. Pourtant, je le fais toujours dans deux cas seulement:

  • assurez-vous qu'un plugin non autoload est chargé avant la fin du .vimrc (afin de définir d'autres choses qui dépendent de ce plugin)
  • charger des paramètres spécifiques au système d'exploitation

Pour les autres cas:

  • pour les définitions de fonction, il existe des plugins de chargement automatique;
  • pour la coloration syntaxique, les couleurs, il y a des fichiers dédiés dans les répertoires éponymes;
  • pour les paramètres spécifiques au type de fichier, il existe des plugins de type de fichier (avoir des autocommandes dans le .vimrc est une mauvaise solution, une qui ne s'adapte pas);
  • pour les paramètres spécifiques au projet, il existe des plugins comme local_vimrc;
  • pour tout autre ensemble de mappages ou fonctionnalités complexes, il existe des plugins où nous pouvons regrouper les définitions thématiques;

Au final, j'ai dans mon .vimrc:

  • options globales définies avec :set
  • la procédure requise par le gestionnaire de plugins que j'utilise
  • diverses configurations pour les plugins que j'utilise (je remplace les raccourcis clavier par défaut dans le .vimrc)
  • et quelques choses (trop en fait) que je traîne depuis 20 ans.
Luc Hermitte
la source
3

Oui, ou même juste so somefile. Tu vois :help so.

user3224237
la source
2

En tant que compleJ'ai ces lignes dans mon vimrc qui pourraient vous intéresser. J'utilise ensuite pour source un vimrc local que je ne garde pas dans mon contrôle de source dotfiles:

" Source a local vimrc {{{
    if has('win32')
        let $MYLOCALVIMRC = $HOME . "/_local.vim"
    else
        let $MYLOCALVIMRC = $HOME . "/.local.vim"
    endif

    if filereadable($MYLOCALVIMRC)
        source $MYLOCALVIMRC
    endif
" }}} 

La première partie qui définit le nom du fichier à source peut ne pas être intéressante pour vous, mais la deuxième partie qui vérifie si le fichier peut être sourcé avant de le sourcer pourrait être intéressante.

Notez que :h sourcedéclare:

Lisez les commandes Ex dans {fichier}. Ce sont des commandes qui commencent par un ":"

Cela vous permettra donc de source un fichier contenant vimscript mais vous ne pouvez pas directement source un fichier contenant une autre langue avec cette méthode, même si la première ligne contient le bon shebang ( #!/bin/...)

statox
la source