vim
Vim erweitern
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. )
Installieren Sie Git und klonen Sie Vundle in
~/.vim/bundle/Vundle.vim
.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
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
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
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 vonvim-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
- Legen Sie das oberste Verzeichnis Ihres Plugins in
~/.vim/bundle/
, um es beim nächsten Start von Vim verfügbar zu machen. - 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.