Suche…


Bemerkungen

Ein Plugin ist ein Skript oder eine Gruppe von Skripts, das das Standardverhalten von Vim ändert, indem entweder nicht vorhandene Features hinzugefügt oder vorhandene Features erweitert werden.

Zu den häufig hinzugefügten "nicht vorhandenen Funktionen" gehören:

  • kommentieren,
  • Eindrückungserkennung,
  • Autovervollständigung,
  • Fuzzy-Matching,
  • Unterstützung für eine bestimmte Sprache
  • usw.

Zu den häufig vorhandenen "vorhandenen Funktionen" gehören:

  • omni-vervollständigung,
  • Textobjekte & Bewegungen,
  • zerren & setzen,
  • Statuszeile,
  • Suchen & Ersetzen,
  • Puffer- / Fenster- / Registerseitenumschaltung,
  • falten,
  • usw.

Wie funktionieren Plugins?

Ein Plugin kann sich als einzelne Datei präsentieren, die 30 Zeilen Vimscript enthält, oder als 20 MB Vimscript / Python / Ruby / was auch immer in viele Dateien aufgeteilt wird, die sich auf ein Dutzend Verzeichnisse beziehen, die von einer Reihe externer Tools abhängen.

Ersteres ist offensichtlich einfach zu installieren und zu verwalten, aber letzteres könnte eine ziemliche Herausforderung darstellen.

Das Prinzip

Die Option 'runtimepath' teilt Vim mit, wo nach Laufzeitskripten 'runtimepath' werden soll. Der Standardwert macht Vim sucht Skripte in die folgenden Verzeichnisse in der Reihenfolge:

  • auf UNIX-ähnlichen Systemen

    • $HOME/.vim/
    • $VIM/vimfiles/
    • $VIMRUNTIME/
    • $VIM/vimfiles/after/
    • $HOME/.vim/after/
  • unter Windows

    • $HOME/vimfiles/
    • $VIM/vimfiles/
    • $VIMRUNTIME/
    • $VIM/vimfiles/after/
    • $HOME/vimfiles/after/

Installieren Sie Plugins nur in den fett gedruckten Verzeichnissen. Die anderen verursachen aus keinem guten Grund Instabilität. Die Installation eines Plugins führt dazu, dass sich jede seiner Komponenten im rechten Verzeichnis unter $HOME/.vim/ oder $HOME/vimfiles/ .

Die manuelle Methode

Plugin für einzelne Dateien

Legen Sie die Datei unter $HOME/.vim/plugin oder $HOME/vimfiles/plugin

Dies würde das Plugin beim Start von Vim beziehen. Nun kann der Benutzer alles, was darin definiert ist, verwenden. Wenn das Plugin jedoch aktiviert werden muss, muss der Benutzer den Befehl entweder selbst ausführen, wenn er es verwenden möchte, oder den Befehl zu .vimrc

Bündeln

Ein Bundle ist eine Verzeichnisstruktur, die das Plugin verwendet. Es besteht aus allen Dateien des Plugins unter den entsprechenden Unterverzeichnissen.

Um ein solches Plugin zu installieren, müssen die Unterverzeichnisse mit ihren Gegenstücken in $HOME/.vim/plugin . Dieser Ansatz führt jedoch zum Mischen der Dateien verschiedener Plugins in denselben Verzeichnissen und kann möglicherweise zu Namensraumproblemen führen.

Ein anderer Ansatz besteht darin, das gesamte Verzeichnis nach $HOME/.vim/bundle zu kopieren.

Bei diesem Ansatz sollte sich mindestens eine .vim Datei im .vim $HOME/.vim/bundle/autoload . Diese Dateien werden beim Start von vim bereitgestellt.

Hinweis: Abhängig vom Betriebssystem des Benutzers kann das Präfix aller Pfade $HOME/vimfiles . Weitere Informationen finden Sie unter Funktionsweise von Plugins

VAM

https://github.com/MarcWeber/vim-addon-manager

Vundle

Vundle ist ein Plugin-Manager für Vim.

Vundle installieren

(Die vollständigen Installationsdetails finden Sie im Vundle-Schnellstart. )

  1. Installieren Sie Git und klonen Sie Vundle in ~/.vim/bundle/Vundle.vim .

  2. Konfigurieren Sie Plugins, indem Sie oben in .vimrc hinzufügen und ggf. Plugins hinzufügen oder entfernen (die Plugins in der Liste dienen nur zur Veranschaulichung)

     set nocompatible              " be iMproved, required
     filetype off                  " required
    
     " set the runtime path to include Vundle and initialize
     set rtp+=~/.vim/bundle/Vundle.vim
     call vundle#begin()
     " alternatively, pass a path where Vundle should install plugins
     "call vundle#begin('~/some/path/here')
    
     " let Vundle manage Vundle, required
     Plugin 'VundleVim/Vundle.vim'
    
     " All of your Plugins must be added before the following line
     call vundle#end()            " required
     filetype plugin indent on    " required
     " To ignore plugin indent changes, instead use:
     "filetype plugin on
    
     "place non-Plugin stuff after this line
    
  3. Installieren Sie Plugins: indem Sie Vim starten und :PluginInstall .

Unterstützte Plugin-Formate

Nachfolgend finden Sie Beispiele für verschiedene unterstützte Formate. Behalten Sie die Plugin-Befehle zwischen vundle#begin und vundle#end .

Plugin-Speicherort Verwendungszweck
Plugin auf GitHub Plugin 'tpope/vim-fugitive'
Plugin von http://vim-scripts.org/vim/scripts.html Plugin 'L9'
Git-Plugin nicht auf GitHub gehostet Plugin 'git://git.wincent.com/command-t.git'
Git Repos auf Ihrem lokalen Rechner (zB wenn Sie an Ihrem eigenen Plugin arbeiten) Plugin 'file:///home/gmarik/path/to/plugin'
Das sparkup vim-Skript befindet sich in einem Unterverzeichnis dieses Repos namens vim. Übergeben Sie den Pfad, um den Laufzeitpfad richtig einzustellen. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Installieren Sie L9 und vermeiden Sie einen Namenskonflikt, wenn Sie bereits eine andere Version installiert haben. Plugin 'ascenator/L9', {'name': 'newL9'}

Das Arbeiten an einem gemeinsam genutzten Konto, z. B. auf einem Cluster- .vim kann Probleme verursachen, wenn das .vim Verzeichnis die Datenträgerverwendung verwendet. Es gibt einige Pakete, die viel Speicherplatz benötigen , beispielsweise YCM . Wählen Sie Ihr Vundle Plugin-Verzeichnis also mit rtp . rtp sehr einfach, indem Sie rtp . Und auch wenn Sie planen, ein vim-Plugin zu installieren, machen Sie git clone nicht direkt im bundle Verzeichnis. Benutze den Vundle-Weg.

Die Zukunft: Pakete

Siehe :help packages .

Erreger

vim-pathogen ist ein runtimepath Manager, der von Tim Pope erstellt wurde, um Plugins und Laufzeitdateien in ihren eigenen privaten Verzeichnissen zu installieren.

Pathogen installieren

  1. Legen Sie den Erreger in ~/.vim/bundle (hier mit Git, aber es ist nicht zwingend erforderlich):

    git clone https://github.com/tpope/vim-pathogen.git
    
  2. Fügen Sie die folgenden Zeilen am oberen .vimrc Ihrer .vimrc :

     " enable vim-pathogen
     runtime bundle/vim-pathogen/autoload/pathogen.vim
     execute pathogen#infect()
    
  • Die runtime gibt den Pfad zum Autoload-Skript von vim-pathogen .
  • execute pathogen#infect() initiiert es.

Nach dem Start startet Pathogen automatisch einen Durchlauf durch die Ordner in ~/.vim/bundle und lädt das Plugin von jedem Ordner.

Pathogen verwenden

  1. Legen Sie das oberste Verzeichnis Ihres Plugins in ~/.vim/bundle/ , um es beim nächsten Start von Vim verfügbar zu machen.
  2. Run :Helptags um die Dokumentation Ihres neuen Plugins zu indizieren.

Leistungen

  • Jedes Plugin befindet sich in einem eigenen Verzeichnis unter ~/.vim/bundle/ .
  • Ihr .vimrc bleibt von der Konfiguration frei, die zum Laden von Plugins benötigt wird.

Der Aufwand zum "Verwalten" eines Plugins reduziert sich somit auf:

  • legt sein Top-Level - Verzeichnis unter ~/.vim/bundle/ zu installieren,
  • das oberste Verzeichnis ersetzen , um es zu aktualisieren ,
  • Löschen Sie das Verzeichnis der obersten Ebene, um es zu deinstallieren .

Wie Sie diese drei Aktionen ausführen (manuell, über ein Automatisierungswerkzeug, mit Git / Svn / Hg / was auch immer…), liegt ganz bei Ihnen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow