Enthält in vimrc?


11

Ist es möglich, externe Dateien, die bezogen werden sollen, in die vimrc-Datei aufzunehmen?

Ist es so einfach wie nur hinzuzufügen source somefile?

Antworten:


15

Im Gegensatz zu :source, :runtimekeinen absoluten Pfad zur Arbeit benötigen. Es ist viel besser als :sourcezum Erstellen tragbarer Setups.

Siehe :help :runtime.

Im folgenden Beispiel weisen wir Vim an, vimrcin den von der runtimepathVariablen angegebenen Verzeichnissen nach einer Datei zu suchen . Da ~/.vim/es sich um das erste Verzeichnis in der Liste handelt, runtime vimrcfunktioniert es genau so, :source ~/.vim/vimrcohne dass ein systemabhängiger Pfad angegeben werden muss.

In ~/.vimrc:

runtime vimrc

4

Die Antwort sollte davon abhängen, was Sie in mehrere Dateien verteilen möchten. Es gibt verschiedene Möglichkeiten, eine Konfiguration in mehreren Dateien vorzunehmen. Hinweis: Der Unterschied zwischen runtimeund sourcewurde beschrieben, ich werde zu diesem Thema nichts mehr sagen.

Damit. Sie müssen auch das Was berücksichtigen. Heutzutage müssen wir selten sooder ruvon .vimrc verwenden. Trotzdem mache ich es nur in zwei Fällen:

  • Stellen Sie sicher, dass ein Plugin, das nicht automatisch geladen wird, vor dem Ende von .vimrc geladen wird (um andere Dinge zu definieren, die von diesem Plugin abhängen).
  • Laden Sie betriebssystemspezifische Einstellungen

Für die anderen Fälle:

  • Für Funktionsdefinitionen gibt es Autoload-Plugins.
  • Für die Syntaxhervorhebung und Farbschemata befinden sich dedizierte Dateien in den gleichnamigen Verzeichnissen.
  • Für Dateityp-spezifische Einstellungen gibt es Dateityp-Plugins (Autobefehle in .vimrc sind eine schlechte Lösung, die nicht skaliert werden kann).
  • Für projektspezifische Einstellungen gibt es Plugins wie local_vimrc.
  • Für alle anderen komplexen Zuordnungen oder Funktionen gibt es Plugins, in denen wir thematische Definitionen neu gruppieren können.

Am Ende habe ich in meiner .vimrc:

  • globale Optionen festgelegt mit :set
  • das Verfahren, das der von mir verwendete Plugin-Manager benötigt
  • verschiedene Konfigurationen für die von mir verwendeten Plugins (ich überschreibe die Standard-Tastenkombinationen in der .vimrc)
  • und ein paar Dinge (eigentlich zu viele), die ich seit 20 Jahren mitschleppe.


2

Als Ergänzung habe ich diese Zeilen in meinem vimrc, die Sie interessieren könnten. Ich benutze dann, um ein lokales vimrc zu beschaffen, das ich nicht in meiner Dotfiles-Quellcodeverwaltung behalte:

" 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
" }}} 

Der erste Teil, der den Dateinamen für die Quelle definiert, ist für Sie möglicherweise nicht interessant, aber der zweite Teil, der prüft, ob die Datei bezogen werden kann, bevor sie bezogen wird, könnte interessant sein.

Beachten Sie, dass :h sourceheißt es :

Lesen Sie Ex-Befehle aus {file}. Dies sind Befehle, die mit einem ":" beginnen.

Auf diese Weise können Sie eine Datei mit Vimscript erstellen, aber mit dieser Methode können Sie keine Datei mit einer anderen Sprache direkt abrufen, selbst wenn die erste Zeile den richtigen shebang ( #!/bin/...) enthält.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.