Zoeken…


Opmerkingen

Een plug-in is een script of een set scripts die het standaardgedrag van Vim verandert, door niet-bestaande functies toe te voegen of door bestaande functies uit te breiden.

Vaak toegevoegde "niet-bestaande functies" omvatten:

  • commentaar,
  • inspringen detectie,
  • automatisch aanvullen,
  • fuzzy-matching,
  • ondersteuning voor een specifieke taal,
  • enz.

Vaak uitgebreide "bestaande functies" omvatten:

  • omni-completion,
  • tekst-objecten & bewegingen,
  • rukken en zetten,
  • statusregel,
  • zoeken en vervangen,
  • buffer / venster / tabblad schakelen,
  • vouwen,
  • enz.

Hoe plugins werken

Een plug-in zou zichzelf kunnen presenteren als een enkel bestand met 30 regels vimscript of als 20 MB vimscript / python / ruby / wat dan ook opgesplitst in veel bestanden in een dozijn mappen die afhangt van een aantal externe tools.

De eerste is duidelijk eenvoudig te installeren en te beheren, maar de laatste kan een behoorlijke uitdaging zijn.

Het principe

De optie 'runtimepath' vertelt Vim waar runtime-scripts moeten worden gezocht. De standaardwaarde maakt Vim look voor scripts in de volgende directories in deze volgorde:

  • op UNIX-achtige systemen

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

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

Van de bovenstaande mappen, installeer alleen plug-ins in vetgedrukte. De anderen zullen instabiliteit veroorzaken zonder goede reden. Het installeren van een plug-in komt erop neer dat elk van de componenten in de juiste map onder $HOME/.vim/ of $HOME/vimfiles/ .

De handmatige methode

Plug-in voor één bestand

Plaats het bestand onder $HOME/.vim/plugin of $HOME/vimfiles/plugin

Dit zou de plug-in veroorzaken bij het opstarten van Vim. Nu kan de gebruiker alles gebruiken wat erin is gedefinieerd. Als de plug-in echter moet worden geactiveerd, moet de gebruiker het commando zelf uitvoeren wanneer hij het wil gebruiken, of het commando toevoegen aan .vimrc

Bundel

Een bundel is een mapstructuur die de plug-in gebruikt. Het bestaat uit alle bestanden van de plug-in onder de juiste submappen.

Om een dergelijke plug-in te installeren, moeten de submappen worden samengevoegd met hun tegenhangers in $HOME/.vim/plugin . Deze benadering leidt echter tot het mixen van de bestanden van verschillende plug-ins in dezelfde mappen en kan mogelijk leiden tot problemen met de naamruimte.

Een andere benadering is om de hele map naar $HOME/.vim/bundle te kopiëren.

Bij gebruik van deze aanpak moet er ten minste één .vim bestand zijn in de map $HOME/.vim/bundle/autoload . Deze bestanden zouden bij het opstarten van VIM afkomstig zijn.

Opmerking: Afhankelijk van het besturingssysteem van de gebruiker kan het voorvoegsel van alle paden $HOME/vimfiles . Zie Hoe plug-ins werken voor meer informatie

VAM

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

Vundle

Vundle is een plug- inbeheerder voor Vim.

Vundle installeren

(Volledige installatiegegevens zijn te vinden in de Vundle Quick Start )

  1. Installeer Git en kloon Vundle in ~/.vim/bundle/Vundle.vim .

  2. Configureer plug-ins door het volgende aan uw .vimrc toe te voegen, plug-ins toe te voegen of te verwijderen indien nodig (de plug-ins in de lijst zijn louter ter illustratie)

     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. Plug-ins installeren: door Vim te starten en uit te voeren :PluginInstall .

Ondersteunde plug-informaten

Hierna volgen voorbeelden van verschillende ondersteunde formaten. Houd Plugin-opdrachten tussen vundle#begin en vundle#end .

Plugin locatie Gebruik
plug-in op GitHub Plugin 'tpope/vim-fugitive'
plug-in van http://vim-scripts.org/vim/scripts.html Plugin 'L9'
Git-plug-in niet gehost op GitHub Plugin 'git://git.wincent.com/command-t.git'
git repo's op je lokale machine (bijv. wanneer je aan je eigen plug-in werkt) Plugin 'file:///home/gmarik/path/to/plugin'
Het sparkup vim-script bevindt zich in een submap van deze repo genaamd vim. Passeer het pad om het runtimepath correct in te stellen. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Installeer L9 en vermijd een naamconflict als u al ergens anders een andere versie hebt geïnstalleerd. Plugin 'ascenator/L9', {'name': 'newL9'}

Werken aan een gedeeld account, bijvoorbeeld op een clusterhoofdknooppunt, kan problemen veroorzaken op het punt van schijfgebruik door de .vim directory. Er zijn een aantal pakketten die een aanzienlijke hoeveelheid schijfruimte in beslag nemen, bijvoorbeeld YCM . Kies dus verstandig uw Vundle plugin-directory, en het is heel gemakkelijk om dit te doen door rtp . En ook als je van plan bent om een vim-plug-in te installeren, doe dan niet direct git clone in de bundle . Gebruik de Vundle-manier.

De toekomst: pakketten

Zie :help packages .

pathogeen

vim-pathogen is een runtimepath manager gemaakt door Tim Pope om het gemakkelijk te maken om plug-ins en runtime-bestanden in hun eigen privé-mappen te installeren.

Pathogen installeren

  1. Zet pathogen in ~/.vim/bundle (hier met Git, maar het is niet verplicht):

    git clone https://github.com/tpope/vim-pathogen.git
    
  2. Voeg de volgende regels toe aan de bovenkant van uw .vimrc :

     " enable vim-pathogen
     runtime bundle/vim-pathogen/autoload/pathogen.vim
     execute pathogen#infect()
    
  • de runtime instructie geeft het pad naar het autoload-script van vim-pathogen ;
  • execute pathogen#infect() initieert het.

Eenmaal gestart, start Pathogen automatisch door de mappen in ~/.vim/bundle en laadt de plug-in van elk van hen.

Pathogen gebruiken

  1. Plaats de hoofddirectory van uw plug-in in ~/.vim/bundle/ om deze beschikbaar te maken de volgende keer dat u Vim start.
  2. Uitvoeren :Helptags om de documentatie van uw nieuwe plug-in te indexeren.

Voordelen

  • Elke plug-in bevindt zich in zijn eigen map onder ~/.vim/bundle/ .
  • Uw .vimrc blijft vrij van de configuratie die nodig is om plug-ins te laden.

De inspanning die nodig is om een plug-in te "beheren" is dus beperkt tot:

  • zet de map op het hoogste niveau onder ~/.vim/bundle/ om het te installeren ,
  • vervang de map op het hoogste niveau om hem bij te werken ,
  • verwijder de map op het hoogste niveau om deze te verwijderen .

Hoe je die drie acties uitvoert (handmatig, via een automatiseringstool, met Git / Svn / Hg / wat dan ook ...) is helemaal aan jou.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow