ウェブサイト検索

Linux VPS上でVimプラグインを管理するためのVundleの使い方


紹介

テキストエディタであるvimは、プレーンテキストの操作、システム設定ファイルの管理、およびコードの作成に使える多用途で非常に強力なツールです。モーダル編集のデザインとエディタ自体のエレガントな文法はユーザーに愛されていますが、そのインターフェースや機能は時々、一部のユーザーが望むような魅力に欠けることがあります。

幸いなことに、vim にはプラグインやスクリプトシステムも含まれており、さまざまな方法でエディタを拡張することができます。これらは機能に応じて ~.vim ディレクトリのサブディレクトリに保存される単純な設定ファイルとして実装されています。プラグインを追加すると、これらはかなり混乱し、プラグインを分けて効果的に管理するのが難しくなることがあります。

この理由から、vimのためのいくつかのプラグインマネージャーが作られ、この作業を簡単にする手助けをしています。このガイドで説明するプラグインマネージャーはvundleと呼ばれ、これらのすべての要素を整然と保つために非常に役立ちます。

私たちは、Ubuntu 12.04 VPS インスタンスで vundle を使用する方法を探求します。しかし、ほとんどのディストリビューションは、あまり追加作業なしにこれらの指示を使用できるはずです。

ユーティリティソフトウェアをインストールしてください

私たちが vundle を使用してvimプラグインを管理する方法を探求し始める前に、必要なすべてのコンポーネントをインストールする必要があります。

まず、ローカルのパッケージインデックスを更新する必要があります。そして、vimがインストールされていること(それは便利です!)と、追加のコンポーネントを取得するためにgitが利用可能であることを確認する必要があります。

sudo apt-get update
sudo apt-get install vim git

私たちが vim と git をインストール済み(この記事を読んでいるあなたはおそらくすでに vim をインストールしているでしょう)になったので、vundle をインストールする前に、プラグインが伝統的にどのように機能するか、そして vundle がそれらを管理する方法について少し話す時間を取りましょう。

Vundleはどのように機能しますか?

伝統的に、vim は各ユーザーのホームディレクトリ内でユーザーごとに設定され、システム管理者によって設定されたデフォルトのフォールバックがあり、最終的にはソフトウェア自体が設定します。これらの個人設定は、~/.vimrc という隠しファイルに保存されています。

機能を追加するプラグインや追加の設定ファイルは、通常、隠しディレクトリである~/.vimに追加されます。内部では、ほとんどのプラグインは提供する機能に基づいてサブディレクトリに整理されています。これには、autoload、plugin、colorsなどのものが含まれます。

つまり、組み込みのvimプラグインシステムを使用している場合、あなたのホームディレクトリはこのように見えるかもしれません:

ls -AR ~
/home/demouser:
.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc

/home/demouser/.vim:
autoload  bitmaps  colors  doc  plugin  syntax

/home/demouser/.vim/autoload:
plugin1.vim  plugin2.vim

/home/demouser/.vim/bitmaps:
plugin1.png

/home/demouser/.vim/colors:
plugin2.vim

/home/demouser/.vim/doc:
plugin1.txt  plugin2.txt

/home/demouser/.vim/plugin:
plugin1.vim

/home/demouser/.vim/syntax:
plugin1.vim

vundleツールは、実際にはpathogenと呼ばれる別のプラグインマネージャーに基づいて構築されており、機能のスーパーセットを提供しています。pathogenマネージャーは、各プラグインのために別のプラグインディレクトリツリーを作成することで、プラグイン管理を簡素化します。

これは、各プラグインが異なるファイルを異なるディレクトリに投げ込んで他のプラグインと混ざるのではなく、各プラグインがプラグイン固有のサブディレクトリ内で必要なディレクトリ構造を再作成することを意味します。

これらは bundle と呼ばれるサブディレクトリに保管されています。 あなたのディレクトリ構造は代わりに次のようになります:

ls -AR ~
justin@vundle:~$ ls -AR ~
/home/justin:
.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc

/home/justin/.vim:
autoload  bundle

/home/justin/.vim/autoload:
plugin1.vim  plugin2.vim

/home/justin/.vim/bundle:
plugin1  plugin2

/home/justin/.vim/bundle/plugin1:
autoload  bitmaps  doc  plugin  syntax

/home/justin/.vim/bundle/plugin1/autoload:
plugin1.vim

/home/justin/.vim/bundle/plugin1/bitmaps:
plugin1.png

. . .

これにより、より深いネスティングシステムが作成されますが、プラグインを1つのユニットとして簡単に管理できるようになります。「plugin1」をもう使いたくない場合は、次のようなことをするだけです:

rm -rf ~/.vim/bundle/plugin1

これにより、私たちの管理スキームは大いに簡素化されます。これは基本的にpathogenが達成することです。

vundleが行うことは、vim自体の内部に管理インターフェースを追加し、プラグインを取得したり、プラグインを更新したりすることを可能にすることです。それは、ある人々がpathogenの組織の改善と呼ぶものの上に「管理」部分を追加します。

クリーンインストールしてVundleをインストールする

基盤となるvundleシステムの仕組みについて少し理解できたので、始めましょう。

まず、現在の~/.vimrcファイルと~/.vimディレクトリがある場合、それらをバックアップして新たに始めます。これにより、不適合や潜在的な問題を最小限に抑えることができます。

if [ -e .vimrc ]; then mv .vimrc .vimrc_bak; fi
if [ -e .vim ]; then mv .vim .vim_bak; fi

その後、私たちはGitHubから直接vundleプラグインをクローンでき、これにより私たちの~/.vimディレクトリ構造の一部が再作成されます:

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

次に、vimに新しいパッケージ管理システムを使用するように指示するために、~/.vimrcファイルを再作成する必要があります。

vim ~/.vimrc

内部では、始めるためにいくつかのものが必要です。まず、vimがその前任者であるviとの互換性を保持しようとしていないことを確認する必要があります。これはvundleの要件です。vimが互換性を保とうとすると、viを使用する価値がある多くの機能が無効化されます。

現時点ではデフォルトの「ファイルタイプ」コントロールをオフにしたい理由は、vimが実行時にファイルタイプのルールをキャッシュする方法が、vundleが実行環境を変更する方法と干渉するからです。後でこれを元に戻します:

set nocompatible
filetype off

次に、vimの実行時パスを調整して、GitHubからクローンしたvundleの場所を含める必要があります。その後、vundle初期化関数を呼び出します:

 set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() 

さて、私たちのvundleシステムが初期化され、管理したいプラグインを追加することができます。vundleはローカルプラグインを管理できますが、その強みの一つはローカルのバージョンをオンラインのバージョンに結びつける能力であり、これにより自動更新などが可能になります。

私たちは、GitHubリポジトリ、vimスクリプト、その他のリモートgitリポジトリ、そしてローカルgitリポジトリを指し示すことでこれを行うことができます。

まず第一に、私たちはvundleを使用してvundleパッケージ自体を管理しなければなりません。それから、追加したいプラグインを何でも追加できます:

 set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc()

これはVundleパッケージで、GitHubで見つけることができます。GitHubリポジトリの場合、プラグインを「ユーザー/リポジトリ」形式で指定します。プラグイン「gmarik/vundle」

「.git」拡張子を持つリポジトリも追加できます。プラグイン「scrooloose/nerdtree.git」

Vimスクリプトからプラグインを取得するには、サイトに表示されている名前でプラグインを参照できます。例:プラグイン「Buffergator」

今、私たちはファイルタイプ機能を再度有効にできます。ファイルタイププラグインのインデントをオンにします。

最後に、以前に有効にした「filetype」機能を再度確立することに注意してください。すべてのプラグインは、call vundle#rc() 行と filetype plugin indent on 指示の間に宣言されなければなりません。

この~/.vimrcのセクションの後に、必要な追加のvim設定を追加できます。

作業が完了したら、ファイルを保存して閉じてください( ":wq" または "ZZ" )。

Vundleを使ってプラグインをインストールおよび更新する

さて、私たちはファイルに追加したすべてのプラグインをインストールするようにvundleに指示する必要があります。 vimを起動します:

vim

さて、:PluginInstall コマンドを発行してください:

:PluginInstall

これにより、vim の新しい分割ウィンドウが開き、新しいプラグインのインストールを実行します。 完了したら、次のように入力して新しいバッファとウィンドウを閉じることができます:

:bdelete

あなたが ~/.vimrc ファイルに追加したプラグインは、今やインストールされています!

プラグインを更新したい場合は、次の2つのコマンドのいずれかを使用できます:

:PluginUpdate

または

:PluginInstall!

コマンド :PluginInstall! の最後の「!」は、基本的に vundle にすべてのプラグインを再インストールするように指示します(何らかのアクションが必要かどうかを確認します)。これにより、最新のバージョンが取得されます。

アップデート後、vundle プラグインウィンドウで「u」と入力することで、実際に影響を受けたプラグインを確認できます。アップデートまたはインストール中に行われた操作の完全なログを表示したい場合は、「l」と入力して完全なログを確認してください。

Vundleを使用してプラグインを管理する

プラグインのインストール方法をマスターしたので、vundleをより活用するための他の機能について説明しましょう。

新しいプラグインの取得

vundleの最も便利な機能の一つは、より多くのプラグインを見つけてインストールする能力です。

Vim Scriptsサイトでvundleが見つけられるすべてのプラグインをリストするには、次のように入力します:

:Plugins

または

:PluginSearch!

コマンドの最後の「!」は、Vim Scriptsサイトからローカルリストを更新します。

特定のプラグインを検索したい場合は、この同じ構文を使うことができます:

 :プラグイン検索! プラグイン_クエリ 

これにより、クエリの結果を表示する新しいウィンドウが開きます。最近、ローカルデータベースを更新した場合は、コマンドから「!」を省略できます。したがって、「markdown」を検索すると、次のような結果が得られるかもしれません:

PluginSearch markdown
"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list
"Search results for: markdown
Plugin 'instant-markdown.vim'
Plugin 'MarkdownFootnotes'
Plugin 'Markdown'
Plugin 'Markdown-syntax'

上部に表示されているように、プラグインの行に移動して「i」とタイプすることで、任意のプラグインを簡単にインストールできます。

これによりプラグインがダウンロードされインストールされますが、autloadを正しく行うためにあなたの~/.vimrcは更新されません。

それでは、「MarkdownFootnotes」プラグインをインストールするために、カーソルをその行に移動し、「i」を押します。

 "キーの割り当て: i - プラグインをインストール; c - クリーンアップ; s - 検索; R - リストを再読み込み "検索結果: markdown プラグイン ‘instant-markdown.vim’ <span class=“highlight ”>プラグイン ‘MarkdownFootnotes’</span>  # ここに移動して “i ” を押します プラグイン ‘Markdown’ プラグイン ‘Markdown-syntax’ </pre>

インストールが完了したら、vundleバッファを削除できます:

:bdelete

その後、次のようにして~/.vimrcを編集します:

:e ~/.vimrc

新しいプラグインの行を追加してください:

 set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc()

プラグイン 'gmarik/vundle'

プラグイン 'scrooloose/nerdtree.git'

プラグイン「バッファゲーター」

プラグイン「MarkdownFootnotes」

ファイルタイププラグインのインデントをオンにする

この時点でファイルを保存して閉じることができます。

インストールされたプラグインの管理

プラグインをいくつかインストールしたら、vundleを使ってそれらを管理できます。

インストールされているすべてのプラグインを見るには、次のように入力してください:

:PluginList
" My Plugins
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree.git'
Plugin 'Buffergator'
Plugin 'MarkdownFootnotes'

プラグインを削除する必要がある場合、これは二段階で達成する必要があります。

プラグインファイルをリスト表示して、削除したいプラグイン上でカーソルを合わせた状態で「D」キーを押すことで削除できます。したがって、私たちの「MarkdownFootnotes」プラグインを削除するには、それを選択して「D」を押します:

「私のプラグイン プラグイン ‘gmarik/vundle’ プラグイン ‘scrooloose/nerdtree.git’ プラグイン ‘Buffergator’ プラグイン ‘MarkdownFootnotes’ # 選択時に「D」を押す

この時点で、vundle には未だにこのプラグインが設定に含まれていますが、プラグインのファイルはインストールされていません。再びファイルをインストールするには、次のように入力してください:

:PluginInstall

しかし、私たちはこれをしません。その代わりに、私たちは~/.vimrcファイルからエントリを削除します:

:e ~/.vimrc
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Plugin 'gmarik/vundle'

Plugin 'scrooloose/nerdtree.git'

Plugin 'Buffergator'

filetype plugin indent on

これにより、システムからプラグインが完全に削除されます。

ただし、これを行う簡単な方法は、まずそれを~/.vimrcファイルから削除することです。

削除した後、このコマンドを呼び出すことができます。これは、あなたの~/.vimrcファイルに存在しないプラグインを自動的に削除します(確認を求められます):

:PluginClean
" Removing Plugins:
Plugin 'MarkdownFootnotes'

. . .
Continue? [Y/n]:

未参照のプラグインをすべて削除するには「Y」と入力できます。

結論

この時点で、あなたはvundleインターフェースを通じて、プラグインを簡単に管理できるようになっているはずです。良いプラグインマネージャーを持つことの利点は、特に多くのプラグインを使用していない場合、最初は明白ではないかもしれません。

しかし、このことがあなたに与える最大の利点の一つは、新しいプラグインを簡単に試すことができる能力です。プロセスがクリーンでシンプルであると、異なるプラグインを探求し、機能の統合を試みる可能性が高まります。そうでなければ、もっと複雑な方法で物事を進めることになるかもしれません。

ジャスティン・エリングウッドによる

関連記事: