
Vimにプラグインを導入する
vimにプラグインを導入するにあたって、プラグインマネージャーをいれてみました。コマンドの意味など、できるだけ詳しく掘り下げて書きました。
pc: thinkpad_x40, lubuntu18.04.LTSの環境です。
参考にさせていただいた記事
https://qiita.com/ido1006/items/f10076a75dd4f30e11b2
deinというプラグインマネージャーを入れてみました。
https://github.com/Shougo/dein.vim
僕がよく見ているブログの方がdeinを紹介していたこともあり、信頼できそうだなと思い、シェルスクリプトをダウンロードしました。
シェルスクリプトをダウンロードする際は慎重さが必要
シェルスクリプトは信頼性の高いところからダウンロードしないと危険、注意が必要みたいです。もし悪意のあるシェルスクリプトを実行してしまうと、自分のpcのシステムを破壊する可能性もあるからです。
deinをインストールするためのシェルスクリプトをダウンロード
まずcurlとgitコマンドが必要なので、PCにインストールされているかを確認し、入ってない場合、インストールします。
# apt-get install curl
# apt-get install git
次に、下記2このコマンドを実施すると、deinのシェルスクリプトがPCに保存されます。
# curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
# sh ./installer.sh ~/.cache/dein
curlコマンドは、主にurlにリクエストを送信し、レスポンスを標準出力に出力させるために使われている。
最初のコマンドは、curlコマンドでdeinのシェルスクリプトファイルであるinstaller.shをファイル名:installer.shとして、自分のPCの現在居るディレクトリに保存しています。
リダイレクトを意味する「>」にて、標準出力した結果をファイルに出力して保存できる。
Aの結果をBに出力して保存する場合、A>Bとかく。
2番目のコマンドは、shコマンドでinstaller.shのシェルスクリプトをhomeディレクトリの中の.cache/deinの中に実行、展開するという意味。
ディレクトリの前にドット(.)がついているやつは、通常は隠されているので表示されません。lsコマンドに-aオプションをつけることで表示できます。
シェルスクリプトを実行するには、shコマンドの他にもbashコマンドでも実行できる。
shコマンド、bashコマンド、他にもなにが使えるかを確認するコマンド
cat /etc/shells
上記のように、PCにインストールされているシェルが表示されます。
shファイルの扱い方については、下記の記事を参考にさせていただきました。
https://linuxfan.info/post-1486
Vimの設定ファイルの.vimrcに下記コードを追記
既に.vimrcファイルがあり設定を書いている場合、上の方に追記します。
.vimrcファイルをVimで開く
vim .vimrc
i(インサートモード)で下記コードを追記、Escキーでインサートモードから抜けて、:wqで保存とファイルを閉じる。
if &compatible
set nocompatible
endif
" Add the dein installation directory into runtimepath
set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim
if dein#load_state('~/.cache/dein')
call dein#begin('~/.cache/dein')
call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim')
call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
call dein#add('roxma/nvim-yarp')
call dein#add('roxma/vim-hug-neovim-rpc')
endif
call dein#end()
call dein#save_state()
endif
filetype plugin indent on
syntax enable
Vimをもう一度開き(そのまま.vimrcを開くでok)ノーマルモードで
:call dein#install()
と入力しEnterキーを押す。
すると、準備が完了します。
完了すると、上記画像の一番下の部分のように、「Done: (日時)」のように表示されます。
あとは、プラグインのurlを.vimrcの中に書くと、プラグインのインストールができます。
// .vimrc
// 挿入箇所は画像参照
// プラグインいれるときはコメントを解除してurlを入力
" 入れたいプラグインを下記に入力
" call dein#add('プラグインのurl')
プラグインのurl入力して保存したら、Vimのノーマルモードで
:call dein#install()
とすることでプラグインがインストールされます。
githubのプラグインのページを探して、codeと書かれた緑っぽいボタンをクリックすると、urlが表示されますので、コピーします。
そのurlを.vimrcの先ほど指定した箇所に貼り付けたらokです。
プラグインを管理するもう一つの方法を調べました。
tomlという設定ファイルを使う方法です。スマートな印象なので、僕はこっちの方(tomlの方)を採用してみました。
tomlファイルを使ってプラグインを管理する方法
dein.vimは、tomlファイルを使ってプラグインを管理できる。
https://ja.wikipedia.org/wiki/TOML
tomlファイルにインストールするプラグインやアンインストールプラグインを記述することでプラグインの管理ができる便利な仕組み。
今回は、下記の記事を参考にさせていただきました。
https://knowledge.sakura.ad.jp/23248/
dein.vimおよびtomlの設定コードを.vimrcに保存(下記コード)
// .vimrcファイル
" dein.vim settings {{{
" install dir {{{
let s:dein_dir = expand('~/.cache/dein')
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'
" }}}
" dein installation check {{{
if &runtimepath !~# '/dein.vim'
if !isdirectory(s:dein_repo_dir)
execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
endif
execute 'set runtimepath^=' . s:dein_repo_dir
endif
" }}}
" begin settings {{{
if dein#load_state(s:dein_dir)
call dein#begin(s:dein_dir)
" .toml file
let s:rc_dir = expand('~/.vim')
if !isdirectory(s:rc_dir)
call mkdir(s:rc_dir, 'p')
endif
let s:toml = s:rc_dir . '/dein.toml'
" read toml and cache
call dein#load_toml(s:toml, {'lazy': 0})
" end settings
call dein#end()
call dein#save_state()
endif
" }}}
" plugin installation check {{{
if dein#check_install()
call dein#install()
endif
" }}}
" plugin remove check {{{
let s:removed_plugins = dein#check_clean()
if len(s:removed_plugins) > 0
call map(s:removed_plugins, "delete(v:val, 'rf')")
call dein#recache_runtimepath()
endif
" }}}
入力して保存したら、Vimのノーマルモードで
:call dein#install()
とすることでdeinの準備がされます。
でも、まだtomlファイルを作ってないので、tomlファイルがないよとメッセージがでました。つぎに、dein.tomlファイルを作成します。
dein.tomlファイルを作成
僕の場合は、/home/[ユーザー名]/.vim/内にdein.tomlファイルを作成しました。
vim /home/[ユーザー名]/.vim/dein.toml
dein.tomlファイル内にインストールするプラグインを書きます。
書き方にも独特の決まりがあるので、下記の記事を参考にさせていただきました。
https://leico.github.io/TechnicalNote/VimR/VimR-dein-toml
書き方もプラグインによって、プラスアルファの情報を書いたりする必要がありそうだと思いました。なので、githubのプラグインの説明を直接見ていったほうが良さそうです。
今回、僕はとりあえずシンプルにプラグインの場所だけ書きました。これだと動作しないかもなので、後日、じっくり調べてみます。
とりあえず、上記画像のプラグインを書きました。
repo = 'githubのプラグインの場所'
と記載するだけにしました。
プラグインの使い方も、それぞれ独特の使い方があるので、調べることが必要です。とりあえずプラグインのインストールに成功したかを確認するため、vimfilerをつかってみたところ、成功しているようです↓。
vimfilerを立ち上げたときの画面が下記です。