回答:
vim-plugはVundleの優れた代替手段であり、技術的な観点とは少し異なることを行うため、より高速になります(これを参照)。Vundleのほとんどの(またはすべての)機能を備えています。
+ruby
、+python
またはNeovim。使用可能なものがない場合、Vimscriptを使用してシーケンシャルモードにフォールバックします。使用を開始するには:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
そして、vimrcで:
call plug#begin()
Plug 'tpope/vim-sensible'
" On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
call plug#end()
次に、コマンドを与えます
:PlugInstall
リストされたプラグインをインストールします。
:PlugInstall
、新しいプラグインについてでした。公式ドキュメントでさえ、これを少しあいまいにしています。
..\vim81\autoload\..
であるかどうかを確認します..\.vim\autoload\..
。
病原体は単純です。本質的にはそれだけです:
長所:
短所:
ダウンロードpathogen.vim
するには、~/.vim/autoload
次の場所にダウンロードします。
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
に追加します.vimrc
:
call pathogen#infect()
call pathogen#helptags() "If you like to get crazy :)
夢中にならない:Helptags
場合は、必要なときにだけ電話してください。
その後、プラグインがに追加され~/vim/bundle
ます。
Vundleはより複雑です。これは、パッケージマネージャアラapt
またはyum
プラグイン用です。できる:
インストールする:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
そして、あなたのに追加.vimrc
:
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()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" more Plugin commands
" ...
call vundle#end() " required
filetype plugin indent on " required
プラグインをインストールするには、Plugin
次のコマンドを使用します.vimrc
(Github READMEのその他の例):
" plugin on Github
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
そして、(または):PluginInstall
から呼び出します。.vim
vim +PluginInstall +qall
dein.vim:この質問のフォローアップとして、有名なShougoによって作成されたプラグインマネージャーをここに追加します。
READMEによると、プラグインには次の依存関係があります。
Vim >7.4 or neovim
:Vimを最新の状態に保つことは良いことですが、一部のユーザーにとっては、以前のバージョンがサポートされていないことが問題になる場合がありますgit
:パッケージマネージャーではかなり一般的ですrsync
:gitほど一般的ではありません著者は、NeoBundleよりも高速であると主張しています。ベンチマークは、プロジェクトのreadmeページにあります。
このプラグインマネージャーの元の概念の1つは、コマンドを提供せず、機能のみを提供することです。たとえば、プラグインを更新するには、のようなものは使用できません:PlugUpdate
:を呼び出す必要があります:call dein#update()
。正直なところ、私はこの設計選択の説明を見つけていません。
また、誰かがこれらの「欠落」コマンドを提供するプラグインを作成しました。これが良いアイデアなのか、プラグインマネージャーの主なアイデアに反するのかはわかりませんが、著者はdocファイルのFAQで言及しています。
Dein.vimは、Github(vimscript.orgからプラグインへのアクセスを容易にする)およびローカルディレクトリからのプラグインの取得をサポートしています。
プラグインマネージャーは、プラグインの更新や無効化などの古典的な機能を提供します。また、インストール時にフックを実行することもできます。
FAQによると、インストールするプラグインのヘルプタグを手動で作成する必要があるようです。
興味深い点は、著者がdein.vimのテストと保守を簡単にしたいので、リポジトリにいくつかのテストスクリプトが含まれていることです。
最後に、このプラグインマネージャーは軽量で高速に設計されているように思えますが、これは興味深いことですが、たとえばvim-plugやVundleよりもユーザーフレンドリーではないと思います。
また、Shougoはdein.vimを「Dark powered Vim / Neovim plugin manager」と説明しています。もし誰かがその意味を知っていれば、この答えを自由に編集してください:私は興味があります;-)
Vim 8.0とNeovimの両方には、独自の組み込みパッケージマネージャーがあります。Vimの8.0では、以下のディレクトリを作成します
.vim/pack/*/start
。ここで、*
使用したい任意の名前です。例えば.vim/pack/jimmy/start
。
病原体を使用している場合と同様に、プラグインを開始ディレクトリに複製します。
Neovimでは、ディレクトリがもう少し長くなります。
.local/share/nvim/site/pack/*/start
。そこからVimと同じことを行います。
別のプラグインマネージャーはまったく必要ありません。
VimまたはNeovimで:h packages
、もう少し詳細に実行します。色については、それほどではありませんが異なるため、一部を読んでください。あなたは、あなたの中に余分な命令を必要としない.vimrc
か、あなたのnvim/init.vim
ファイルを。
お役に立てば幸いです。
私に関する限り、依存関係をサポートするために使用するプラグインマネージャーが必要です。
その理由は、いくつかのプラグインを維持しており、相互依存関係が多いためです。汎用ライブラリがすべてで使用され、テンプレート/スニペットエンジンがC ++スイートで使用され、リファクタリングプラグインがctagsライブラリプラグインも使用します、 等々。エンドユーザーが関心のあるプラグインをインストールするために最大10行を実行することを要求することは、私には良い解決策とは思えません。
これまでのところ、私はそのようなプラグインを2つだけ知っています:vim-addon-managerとNeoBundleです。VAMは、vim公式メーリングリストで多くの情報交換を行った後、データベースコードをvim-piに分岐させました。その考えは、NeoBundle(および依存関係の管理に関心のある他のプラグイン)が最終的にvim-piを悪用できるというものでした。
最近、依存関係も処理するvim-flavorに出会いました。件名については、プラグインのバージョンをチェックして正しいものをインストールします。
注:最初の回答以来、
私の知る限り、これらのプラグインはどれもバックグラウンド/パラレルでプラグインをクローン/インストール/更新しません。私は新しいvim環境をインストールしたり、月に一度インストールしたプラグインを更新したりしないので、正直言って気にしません。もちろん'helptags'
、彼らは更新し、世話を'rtp'
します。
vim-plug
のREADMEには「グループの依存関係」という例があります。あなたはそれを試しましたか、それともVAM / NeoBundleの方法と異なりますか?
これらのプラグインマネージャーのほとんどは、プラグインを管理するのに優れた仕事をしますが、管理するのは頭痛の種vimrc
です。複数のマシンがあり、同じ設定を使用する場合、Vireを使用すると非常に簡単になります。gitやサブモジュールを理解したり、セットアップや移行に余分な労力を費やす必要はありません。
pip install vire
vimrc
を要点としてGithubに投稿し、そこで維持するvire -i
、最新のVimまたは(Neovim with -i -n
)をインストールするには" Plug 'tpope/vim-unimpaired'
vire gistID
その後、vire
いつでも、vimrc
またはプラグインを更新したり-i
、アプリを更新したりするために実行します。
VireはVim / Neovimのpack
機能を利用してプラグインをロードします。既存のプラグインマネージャーを引き続き使用することもできますが、Vireを使用してvimrc
、Vim、、および必要に応じてプラグインマネージャー自体のみをインストールします。
Pathogenを使用した完全なプラグインマネージャーが必要な場合は、apt-vimもあります。を使用してインストールできますcurl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
(
https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vim-editor-part-iiを参照
)。インストールしたらapt-vim install
、Ubuntu aptパッケージマネージャーと同様に、パッケージリポジトリの名前を入力するだけで入力できます。
curl URL |sh
。インターネットからランダムなコードを実行することを誰にも勧めません。本当にそれは悪いセキュリティ習慣です。
私は使用する方法を探していましたpathogen
が、簡単に更新してポータブルにするので、おそらくbash
スクリプトが役立つかもしれません(vim-plug
機能を使用して)
#!/bin/sh
# inspired by https://github.com/thoughtbot/dotfiles/blob/master/hooks/post-up
if [ ! -e "$HOME"/.vim/autoload/pathogen.vim ]; then
curl -fLo "$HOME"/.vim/autoload/pathogen.vim --create-dirs \
https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
fi
if [ -e "$HOME"/.vim/autoload/plug.vim ]; then
vim -E -s +PlugUpgrade +qa
else
curl -fLo "$HOME"/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
fi
vim -u "$HOME"/.vimrc.bundles +PlugUpdate +PlugClean! +qa
そして、例.vimrc.bundle
-
"installed via the Githubs
call plug#begin('~/.vim/bundle')
Plug 'bling/vim-airline'
Plug 'scrooloose/syntastic'
Plug 'scrooloose/nerdtree'
Plug 'tpope/vim-fireplace'
Plug 'vim-scripts/paredit.vim'
" etc
call plug#end()
"disable vim-plug sugar-- actual config should be set via .vimrc
filetype plugin indent off
syntax on