in vim

ひさしぶりにVimの掃除をしたら浦島太郎だった


すろっくさんです。

僕は家でも会社でも開発するときVimする人です。プログラム書くようになってからずっとVimです。一度Emacsに浮気しましたがVimに戻ってきてます。

さてさて、この会社入ってから忙しすぎてメンテナンスを怠ってました。日々業務に追われている&日常でも余裕が失われてったからですね。この辺の話は別の記事にするとして、メンテナンスを怠ってだいぶあれだったのでこの機会に整理整頓することにしました。

ここまで前置き。以下やったことです。

VimのUpdateした

まずはこれですね。PythonとLuaのオプションつけました。

これは補完機能いれるためなんですけど、後述します。8.1とかになりました。

プラグインのお掃除した

Vimっていったらプラグインで拡張できるのが強みですが、僕はプラグインを改めて見直すことにしました。それもそれで浦島太郎でした。

「Vim  プラグイン」とかで検索すると「これだけはいれておくVimのプラグイン25!」みたいな記事を見かけると思うんですけど、9割くらいの記事が古いのばっかり推奨していてあてになりませんでした。

そんなわけで今までのVimプラグインで浦島太郎したのを載せます。たいへんでした。

わりとなくなってますね。一応これらを推奨しているVimの記事があったら、スッとブラウザバックしてました。世の中はかわっていきます。

@Shougo あんこくびむおうさんが割と開発停止されているようです。Twitterでフォローしてるのに見逃してましたごめんなさい。今後マジックやりましょう。

さてさて。

unite、neocomplcache、rsenseあたりはお世話になってたので結構つらいですね。使ってなかったのを消したりしました。

Vundle -> dein

プラグインの管理Vundleだったんですけど管理が雑で自分でも何を書いているかよくわからなくなってたのでdeinに変えました。最初「なんじゃこりゃ」って思ったんですけど理解すれば以外と簡単ですね。

これ実行すると「この設定をはりつけてね」っていうのが表示されるので、なにも考えずにvimrcにはっつけるんですけど、ここネットからコピーとかするとつまるので表示されたものを大人しく使うのが大事でした。

あとはtomlっていうファイルにひたすら書くだけでした。-> 僕の設定

慣れれば楽です。Vimの起動時に足りなかったらインストールとかしてくれます。してくれるってことをしらずに「どうやって管理するんだよムキー!」とかなってたんですがしてくれてました。前みたいに:PluginInstallとか打たなくてすみますね。

Unite -> Denite

ここは僕そんな大した使い方してなかったんですけど、ファイルの移動とかに重宝していたので切り替えました。

あと僕は仕事上Railsつかうのでその辺の設定も。

neocomplcache -> neocomplete

ここに関しては非常に心苦しいのですが deoplete.nvimの導入を諦めました。

「何文字目から補完開始する」という設定がどうしてもうまく動かなくて苦労したからですね。なにも入力してない1文字目から「Array」とかの補完がでてしまうという挙動をして修正に手間取りました。

しばらく試行錯誤して僕にdeoplate.nvimはまだ100年くらい早かったんだ、と思うことにしてneocomplateにしました。今後もうすこししたらトライするかもですね。

rsense -> vim-monster

これはRuby補完ですね。solargraphというRubyのコード補完プラグインがあるのでそちらを使わせてもらってます。rsenseがneocomplcache依存だったので、別をいろいろ探したんですがsolargraphに落ち着きました。vim-solargraphとかあったんですけど設定が難しそうなのでスルー。

vimshell -> Deol.nvim

Vimからシェルを起動できるあれです。ただ僕が設定しているzshとVimのバインディングが被ってて、意図しない挙動をしたりします。そこだけなんとかしたい……

使えなくなったり開発終了したプラグインの変更はこんな感じですかね。

細かい設定追加

あとは設定追加。

インデント設定まわり

今までインデントはスペース2で統一していたんですが、会社がPHPでアプリケーション作ってるのでCakePHPのコード規約に合わせました。いよいよ僕もPR投げないといけない空気になりつつある感じが……

一応Python、PHPにしました。Golangはこのあとくらい。CakePHPはスペース4つが推奨らしいんですけど、会社のコードがスペースだったかタブだったか思い出せないのでそこは合わせてみようかと思います。

Git周り

こういうこというといろんな人から怒られそうなんですが、僕Vimを終了させるのが面倒で、コミットをうっかりまとめてやって同僚に呆れられるというのをなんどかやってました。

そこでGitの操作もVim上でできるようにしました。便利。

なんかつかれたのでここまで。

細かいものもいろいろ追加したので、プラグインに依存しない部分だけ載せます。

これで.vimrcとplugins.tomlが合計725行になったので、僕の年収は725万円です! やったね!(微妙にリアルな数字)

今度はzshrcを掃除します!