È possibile e utile dividere vimrc?


22

Come da titolo, è possibile dividere il vimrcfile in più sotto-file? Mantenere file separati per gruppi di impostazioni che riguardano una cosa ? Questa cosa potrebbe essere qualsiasi cosa, qualsiasi tipo di gruppo definito dall'utente di impostazioni. Per esempio,

[Aggiornato]

  • mantenere tutte le impostazioni relative a Python (-mode) in vimrc.python-mode?
  • mantenere le impostazioni per l'utilità Calendario per vim in vimrc.calendar?
  • mantenere l'impostazione del colore in un file separato?
  • mantenere i mapping (ovvero le scorciatoie?) in un file separato?

3
Il rovescio della medaglia: raggruppamento basato sulla posizione anziché basato sul tipo di file. Vedi vi.stackexchange.com/q/77/205
muru l'

La risposta che sto cercando potrebbe essere tra le righe in vi.stackexchange.com/a/3152/1963 ? File sorgente che contengono le impostazioni che desidero per cose specifiche di cui ho bisogno?
Nikos Alexandris,

Rimosso il filetypetag, forse per ora? Fa pensare ai lettori che le domande riguardano tipi di file specifici, il che non è il caso.
Nikos Alexandris,

sembrava appropriato data la domanda originale.
muru,

@muru Sì, non preoccuparti. Potremmo aggiungerlo anche in seguito. Grazie.
Nikos Alexandris,

Risposte:


22

Sì, questa è possibile e utile e persino considerata la migliore pratica. Sono chiamati plugin del tipo di file nel discorso di Vim. E Vim include anche molti plugin di tipo di file (oltre a file di rientro e sintassi) per diverse lingue.

È necessario abilitare questo .vimrccome questo:

filetype plugin on

quindi inserire le impostazioni del tipo di file specifiche in un file (creazione di directory inesistenti) chiamato ~/.vim/ftplugin/python.vimper le impostazioni di Python. Questo è anche trattato nelle FAQ .

Aggiornamento (13.11.2015) Esiste anche un'altra possibilità (se non si desidera utilizzare opzioni specifiche del tipo di file): se si desidera raggruppare alcune opzioni in un file specifico, è possibile utilizzare il comando sourceo runtime. Ad esempio my .vimrccontiene questa riga:

" This script contains plugin specific settings
source ~/.vim/plugins.vim
" This script contains mappings
source ~/.vim/mapping.vim
" additional helper functions:
source ~/.vim/functions.vim
" For abbreviations read in the following file:
source ~/.vim/abbrev.vim

Bene, ho già questo! Ma non ho mai avuto uno sguardo da vicino. Quindi, ho pompato Vimrc. Che dire delle impostazioni che non riguardano un tipo di file specifico però?
Nikos Alexandris,

2
Potresti aver bisogno :he autoloade :he source? Controlla anche questa risposta stackoverflow.com/a/805242/1821490
Alex Kroll

@AlexKroll non per i plugin del tipo di file.
Christian Brabandt,

@ChristianBrabandt per tutto quello che vuoi. Puoi inserire qualsiasi script .vimrc. Basta inserire la source my-funy-useful-script.vimlinea nel tuo .vimrce Vim lo carica dopo il riavvio (o :so $MYVIMRCcomando). :he writing-library-scriptsPuò anche aiutarti.
Alex Kroll

@AlexKroll Penso che questo sia più vicino alla risposta che sto cercando. Ti dispiacerebbe modificare la risposta corrente ed espanderla? Oppure, fai una risposta separata? Non cerco solo tipi di file specifici. Spero che questo sia chiaro nella mia domanda.
Nikos Alexandris,

5

È completamente possibile fare quello che vuoi. Alcuni altri hanno detto dei plugin di tipi di file che funzionano bene per questo.

Ma puoi sorgente e file .vim nel tuo vimrc in modo da poter dividere il .vimrc in tutti i file che desideri. Basta il file sorgente e funzionerà. Ad esempio, ecco i miei dotfile (probabilmente non molto utili). https://github.com/dspecht/dotfiles/


Potresti per favore fare un esempio di quello che hai fatto nella tua risposta e perché funziona?
EvergreenTree
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.