vim
Estensione di Vim
Ricerca…
Osservazioni
Un plug-in è uno script o un set di script che modifica il comportamento predefinito di Vim, aggiungendo funzionalità non esistenti o estendendo le funzionalità esistenti.
Spesso aggiunte "funzionalità non esistenti" includono:
- commentando,
- rilevamento dell'indentazione,
- completamento automatico,
- fuzzy matching,
- supporto per una lingua specifica,
- eccetera.
Le "funzionalità esistenti" estese spesso includono:
- omni-completamento,
- oggetti di testo e movimenti,
- strattonando e mettendo,
- riga di stato,
- cerca e sostituisci,
- commutazione buffer / window / tab page,
- piegatura,
- eccetera.
Come funzionano i plugin
Un plug-in può presentarsi come un singolo file contenente 30 righe di vimscript o 20 MB di vimscript / python / ruby / qualunque sia suddiviso in più file in una dozzina di directory che dipende da un numero di strumenti esterni.
Il primo è ovviamente facile da installare e gestire, ma quest'ultimo potrebbe mettere in discussione una bella sfida.
Il principio
L'opzione 'runtimepath'
indica a Vim dove cercare gli script di runtime. Il valore predefinito fa in modo che Vim cerchi gli script nelle seguenti directory nell'ordine :
su sistemi simil-UNIX
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
Su Windows
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
Tra le directory sopra riportate, installa solo i plug-in in grassetto. Gli altri causeranno instabilità senza una buona ragione. L'installazione di un plugin si riduce alla collocazione di ciascuno dei suoi componenti nella directory corretta sotto $HOME/.vim/
o $HOME/vimfiles/
.
Il metodo manuale
Plugin per singolo file
Metti il file sotto $HOME/.vim/plugin
o $HOME/vimfiles/plugin
Ciò provocherebbe il plugin all'avvio di Vim. Ora l'utente può utilizzare tutto ciò che è definito al suo interno. Se il plugin necessita comunque di attivazione, l'utente deve eseguire il comando da solo ogni volta che lo desidera o aggiungere il comando a .vimrc
impacchettare
Un bundle è una struttura di directory che usa il plugin. Consiste di tutti i file del plugin sotto le sottodirectory appropriate.
Per installare un tale plugin le sottodirectory dovrebbero essere unite con le loro controparti in $HOME/.vim/plugin
. Questo approccio porta tuttavia a mescolare i file di diversi plugin nelle stesse directory e potrebbe portare a problemi nello spazio dei nomi.
Un altro approccio consiste nel copiare l'intera directory in $HOME/.vim/bundle
.
Quando si utilizza questo approccio, dovrebbe esserci almeno un file .vim
directory $HOME/.vim/bundle/autoload
. Questi file verrebbero creati da vim all'avvio.
Nota: a seconda del sistema operativo dell'utente, il prefisso di tutti i percorsi potrebbe essere $HOME/vimfiles
. Per maggiori dettagli vedi Come funzionano i plugin
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
Vundle è un gestore di plugin per Vim.
Installazione di Vundle
(I dettagli completi sull'installazione sono disponibili nel Vundle Quick Start )
Installa Git e clona Vundle in
~/.vim/bundle/Vundle.vim
.Configura i plugin aggiungendo quanto segue all'inizio del tuo
.vimrc
, aggiungendo o rimuovendo i plugin, se necessario (i plugin nella lista sono solo a scopo illustrativo)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
Installa i plugin: avviando Vim ed eseguendo
:PluginInstall
.
Formati di plugin supportati
Di seguito sono riportati esempi di formati diversi supportati. Mantenere i comandi del plugin tra vundle#begin
e vundle#end
.
Posizione del plugin | uso |
---|---|
plugin su GitHub | Plugin 'tpope/vim-fugitive' |
plugin da http://vim-scripts.org/vim/scripts.html | Plugin 'L9' |
Plugin Git non ospitato su GitHub | Plugin 'git://git.wincent.com/command-t.git' |
git repos sulla tua macchina locale (cioè quando lavori sul tuo plugin) | Plugin 'file:///home/gmarik/path/to/plugin' |
Lo script sparkim vim è in una sottodirectory di questo repository chiamato vim. Passa il percorso per impostare correttamente il runtimepath. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
Installa L9 ed evita un conflitto di denominazione se hai già installato una versione diversa da qualche altra parte. | Plugin 'ascenator/L9', {'name': 'newL9'} |
Lavorare su un account condiviso, ad esempio, sul nodo head del cluster può sollevare problemi dal punto di utilizzo del disco dalla directory .vim
. Esistono un paio di pacchetti che richiedono una notevole quantità di spazio su disco, ad esempio YCM . Quindi scegli Vundle
tua Vundle
plugin Vundle
, ed è molto semplice farlo impostando rtp
. Inoltre, se stai pianificando l'installazione di qualsiasi plugin vim, non fare direttamente git clone
nella directory del bundle
. Usa il modo Vundle.
Il futuro: pacchetti
Vedi :help packages
.
patogeno
vim-pathogen è un gestore runtimepath
creato da Tim Pope per semplificare l'installazione di plug-in e file di runtime nelle proprie directory private.
Installare Pathogen
Metti il patogeno in
~/.vim/bundle
(qui con Git, ma non è obbligatorio):git clone https://github.com/tpope/vim-pathogen.git
Aggiungi le seguenti righe all'inizio del tuo
.vimrc
:" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
- la direttiva
runtime
specifica il percorso dello script autoload divim-pathogen
; -
execute pathogen#infect()
avvia.
Una volta avviato, Pathogen avvierà automaticamente uno sweep attraverso le cartelle in ~/.vim/bundle
e caricherà il plugin da ognuno di essi.
Utilizzo di agente patogeno
- Metti la directory di primo livello del tuo plugin in
~/.vim/bundle/
per renderla disponibile la prossima volta che avvii Vim. - Esegui
:Helptags
per indicizzare la documentazione del nuovo plugin.
Benefici
- Ogni plugin risiede nella sua directory in
~/.vim/bundle/
. - Il tuo
.vimrc
rimane pulito dalla configurazione necessaria per caricare i plugin.
Lo sforzo necessario per "gestire" un plugin è quindi ridotto a:
- metti la sua directory di primo livello sotto
~/.vim/bundle/
per installarlo , - sostituisci la sua directory di primo livello per aggiornarlo ,
- elimina la sua directory di primo livello per disinstallarla .
Il modo in cui esegui queste tre azioni (manualmente, tramite uno strumento di automazione, con Git / Svn / Hg / qualunque ...) dipende completamente da te.