Vim設定ファイルの見直し

Vimの設定ファイルの見直しを行いました。

1. init.vimの整理

いくつかのオプションの見直しを行いましたが、一番大きいのはプラグインの設定をdein.tomldein_lazy.tomlに追い出しました。

以下のような感じで、deinのプラグインの読み出しの後に、hook_addで今までinit.vimで行なっていた設定をこちら側に移してきています。

# --------------------------------------------
#  Setting for NERDTree
#  ファイラー
# --------------------------------------------
[[plugins]]
repo = 'scrooloose/nerdtree'
hook_add = '''
    nnoremap <silent><C-n> :NERDTreeToggle<CR>
    let g:NERDTreeShowBookmarks=1
'''

このため、init.vimの行数がぐんと減りました。

2. プラグインの遅延読み込み

deinの遅延読み込みをより活用するため、読み込み条件を見直しました。

deinの読み込み条件にはいくつか指定できますが、私が使っているのは以下の2つのパターンです。

バッファに読み込んだファイルタイプで読み込みたいプラグインは以下のような設定をしています。

# --------------------------------------------
# PythonのインデントをPEP8の定義に
# --------------------------------------------
[[plugins]]
repo = 'Vimjas/vim-python-pep8-indent'
on_ft = 'python'

Vimのイベントで読み込みを行いたいプラグインには以下のような指定をしています。

# --------------------------------------------
#  Setting for Autodate
#   更新日を追加してくれるプラグイン
# --------------------------------------------
[[plugins]]
repo = 'vim-scripts/autodate.vim'
on_event = ['BufWritePre']
hook_add = '''
    let g:autodate_format = '%Y-%m-%d %H:%M:%S'
'''

イベントについてはautocmd のイベント定義を見ると、どのようなものがイベントとして使えるかわかります。

3. Gitでの管理

これまで設定ファイルは特にバージョン管理をしていませんでしが、仕事用のMacでも共有したいのでGitで管理することにしました。

BitBucketを使うことにしました。

手順は以下の通りです。

まず、.configの下にあるのは色々面倒なので別のフォルダに必要なファイルを移動させてシンボリックリンクを張ることにしました。

$ cd ~
$ mkdir vimfiles
$ mv .config/nvim/init.vim vimfiles/
$ mv .config/nvim/dein.toml vimfiles/
$ mv .config/nvim/dein_lazy.toml vimfiles/
$ ln -s vimfiles/init.vim .config/nvim/init.vim
$ ln -s vimfiles/dein.toml .config/nvim/dein.toml
$ ln -s vimfiles/dein_lazy.toml .config/nvim/dein_lazy.toml 

次にgitへの登録です。

$ git init
$ git add .
$ git commit -m 'Initial commit'
$ git remote add origin https://USERNAME@bitbucket.org/USERNAME/vimfiles.git
$ git push -u origin master

git push-uオプションをつけると、次回からのpushではオプションを指定しなくても、勝手に origin master で push してくれます。

USERNAMEの部分はBitBucketのユーザー名です。

以降は、設定ファイルの編集を行うたびに、

$ git add .
$ git commit -m "変更理由"
$ git push

Comments !