Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim8でプラグイン管理

$
0
0

重い腰を上げてVim8にしました。ついでにvimrcとプラグインの整理も。

できるだけミニマムにしたかったので、使うプラグインをゴリゴリ削りました。
プラグインの管理も、Vim8自体のプラグイン機能を使ってできるぽいとのことだったので、
今まで使っていたdeinをやめました。

pluginを登録する

vimの起動時に自動的に読み込みたいものは
.vim/plugin/hoge/start/
遅延ロード任意のタイミングで読み込みたいものは
.vim/plugin/hoge/opt/
に置きます。
/opt/に置いたものは、:packaddで読み込めます。
gitでvimの設定を管理している場合は、submoduleとして登録しておくと便利。

遅延読み込み?

ここで少しハマったのですが、
「optに置くものは遅延読み込み」という表現をよく見かけますが、それはちょっと違いまして、、、
(:h plugin にも"lazy"という表現は見当たらない)

vimの起動→vimrcの読み込み→/start/のプラグインの読み込み
となります。
この場合、プラグインに対しての設定をvimrcに書くと、「未知の関数です」と言われて死んでしまうんですね。。。

例えば、deniteのキーマッピングをカスタマイズしたくて

.vimrc
nnoremap [denite]<Nop>
nmap <C-c>[denite]if executable('rg')call denite#custom#var('file_rec','command',['rg','--files','--glob','!.git'])" 〜いろいろ〜 (詳しくはGitHubへ)endif

とか書いていたのですが、「denite#custom#varなんて知らねーぞ」と言われました。せやな。

deniteは/opt/に置いて、

.vimrc
packadd denite.nvim
nnoremap [denite]<Nop>
nmap <C-c>[denite]if executable('rg')call denite#custom#var('file_rec','command',['rg','--files','--glob','!.git'])" 〜いろいろ〜endif

としてあげたらいけました。やったね。

余談

整理のついでにいろいろやってみた。
- NERDTree→denite
- ターミナルや:!でrg(grep)→deniteでrg
- tigでGit操作→vim-fugitive
など。

現場からは以上です!

リンク集

.vimrc
dotfiles
Twitter


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>