vim
Förlängning av Vim
Sök…
Anmärkningar
En plugin är ett skript eller uppsättning skript som ändrar Vims standardbeteende, antingen genom att lägga till icke-befintliga funktioner eller genom att utöka befintliga funktioner.
Ofta tillagda "icke-befintliga funktioner" inkluderar:
- kommentera,
- indragningsdetektering,
- automatisk komplettering,
- fuzzy-matchning,
- stöd för ett specifikt språk,
- etc.
Ofta utökade "befintliga funktioner" inkluderar:
- omni-fullbordan,
- textobjekt & rörelser,
- yanking & putting,
- statusrad,
- sök & ersätt,
- buffert / fönster / tabbsida växling,
- hopfällbar,
- etc.
Hur plugins fungerar
En plugin kan presentera sig som en enda fil som innehåller 30 rader med vimscript eller som 20 MB vimscript / python / ruby / vad som delas upp i många filer över ett dussin kataloger som beror på ett antal externa verktyg.
Den förstnämnda är uppenbarligen lätt att installera och hantera men den senare kan pausa en ganska utmaning.
Principen
'runtimepath'
säger Vim var man ska leta efter runtime-skript. Standardvärdet gör att Vim letar efter skript till följande kataloger i ordning :
på UNIX-liknande system
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
på Windows
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
Av katalogerna ovan installerar du bara plugins i de med fetstil. De andra kommer att orsaka instabilitet utan goda skäl. Att installera ett plugin kommer att lägga till var och en av dess komponenter i rätt katalog under $HOME/.vim/
eller $HOME/vimfiles/
.
Den manuella metoden
Plugin för en fil
Sätt filen under $HOME/.vim/plugin
eller $HOME/vimfiles/plugin
Detta skulle komma från plugin vid start av Vim. Nu kan användaren använda allt definierat i det. Om plugin dock behöver aktiveras, måste användaren antingen köra kommandot själv när de vill använda det, eller lägga till kommandot till .vimrc
Bunt
Ett paket är en katalogstruktur som pluginprogrammet använder. Det består av alla filerna i plugin under de lämpliga underkatalogerna.
För att installera ett sådant plugin bör underkatalogerna slås samman med motsvarigheterna i $HOME/.vim/plugin
. Detta tillvägagångssätt leder emellertid till blandning av filer från olika plugins i samma kataloger och kan eventuellt leda till namnutrymme.
En annan metod är att kopiera hela katalogen till $HOME/.vim/bundle
.
När du använder denna metod bör det finnas minst en .vim
fil under .vim
$HOME/.vim/bundle/autoload
. Dessa filer kommer från vim vid uppstart.
Obs: Beroende på användarens operativsystem kan prefixet för alla sökvägar vara $HOME/vimfiles
. Mer information finns i Hur plugins fungerar
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
Vundle är en plugin manager för Vim.
Installera Vundle
(Fullständig installationsinformation finns i Vundle Quick Start )
Installera Git och klona Vundle i
~/.vim/bundle/Vundle.vim
.Konfigurera plugins genom att lägga till följande till toppen av din
.vimrc
, lägga till eller ta bort plugins vid behov (plugins i listan är bara för illustrationssyften)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
Installera plugins: genom att starta Vim och köra
:PluginInstall
.
Stödda pluginformat
Följande är exempel på olika format som stöds. Håll plugin-kommandon mellan vundle#begin
och vundle#end
.
Plugin Location | Användande |
---|---|
plugin på GitHub | Plugin 'tpope/vim-fugitive' |
plugin från http://vim-scripts.org/vim/scripts.html | Plugin 'L9' |
Git-plugin är inte värd på GitHub | Plugin 'git://git.wincent.com/command-t.git' |
git repos på din lokala maskin (dvs. när du arbetar med din egen plugin) | Plugin 'file:///home/gmarik/path/to/plugin' |
Spim-up-vim-skriptet finns i en underkatalog av denna repo som kallas vim. Passera vägen för att ställa in runtimepathen korrekt. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
Installera L9 och undvik en Namnkonflikt om du redan har installerat en annan version någon annanstans. | Plugin 'ascenator/L9', {'name': 'newL9'} |
Om du arbetar på ett delat konto, till exempel på klusterhuvudnod, kan det uppstå problem från .vim
med .vim
katalogen. Det finns ett par paket som tar betydande mängd diskutrymme, till exempel YCM . Så välj din Vundle
plugin-katalog klokt, och det är väldigt enkelt att göra det genom att ställa in rtp
. Och om du planerar att installera någon vim-plugin, gör inte direkt git clone
i bundle
. Använd Vundle-sättet.
Framtiden: paket
Se :help packages
.
pathogen
vim-pathogen är en runtimepath
manager skapad av Tim Pope för att göra det enkelt att installera plugins och runtime-filer i sina egna privata kataloger.
Installera Pathogen
Lägg patogen i
~/.vim/bundle
(här med Git, men det är inte obligatoriskt):git clone https://github.com/tpope/vim-pathogen.git
Lägg till följande rader på toppen av din
.vimrc
:" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
- direktivet om
runtime
specificerar sökvägen till autoload-skriptet avvim-pathogen
; -
execute pathogen#infect()
initierar det.
När den har initierats startar Pathogen automatiskt ett svep genom mapparna i ~/.vim/bundle
och laddar plugin från var och en av dem.
Använda Pathogen
- Sätt den översta katalogen för din plugin i
~/.vim/bundle/
att göra den tillgänglig nästa gång du startar Vim. - Kör
:Helptags
att indexera:Helptags
för din nya plugin.
fördelar
- Varje plugin finns i sin egen katalog under
~/.vim/bundle/
. - Din
.vimrc
förblir ren från den konfiguration som behövs för att ladda plugins.
Insatsen som krävs för att "hantera" ett plugin reduceras alltså till:
- lägga sin toppnivåskatalog under
~/.vim/bundle/
att installera den, - byt ut sin högsta katalog för att uppdatera den,
- ta bort dess toppkatalog för att avinstallera den.
Hur du utför dessa tre åtgärder (manuellt, via ett automatiseringsverktyg, med Git / Svn / Hg / vad som helst ...) är helt upp till dig.