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 )

  1. Installa Git e clona Vundle in ~/.vim/bundle/Vundle.vim .

  2. 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
    
  3. 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

  1. Metti il ​​patogeno in ~/.vim/bundle (qui con Git, ma non è obbligatorio):

    git clone https://github.com/tpope/vim-pathogen.git
    
  2. 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 di vim-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

  1. Metti la directory di primo livello del tuo plugin in ~/.vim/bundle/ per renderla disponibile la prossima volta che avvii Vim.
  2. 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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow