neovimの導入
しばらく放置していたブログに久しぶりの投稿.
この間neovimなるものを見つけ,移行を決心. プロジェクトとしては,レガシーなvimをモダンなコードで書き直そうといった趣旨のもの. (vimの開発者)
主な特徴は
* 非同期処理が使いやすくなった
* msgpack APIの利用により,任意の言語での非同期処理が可能
(ref. Related projects · neovim/neovim Wiki · GitHubのAPI clients)
* terminal emulatorの導入 (vimでの:shで実行されるようなやつ)
* カーソルの表示やtrue colorが使えるなどモダンな仕様に
* vimrcなどの設定をそのまま流用可能
を掲げているらしい.
インストール
brew install neovim
neovimを呼び出すコマンドは
nvim <開きたいファイル>
で使い方はvimとほとんど変わらない.
ただし,設定ファイル等はDirectory Specificationに準拠するようになっているのでその辺は要留意.
$HOME/.vimrc に書き込んでいた設定ファイルは
$XDG_CONFIG_HOME/.config/nvim/init.vim に移動.
※ $XDG_CONFIG_HOMEが設定されていないと$HOME/.config/nvim/init.vimを参照する(?).
今までvim使って来た人は.vimrcをinit.vimに移植する必要がある.
プラグイン管理
今までプラグイン管理はNeoBundleだったが,tomlでのプラグインやその依存関係管理が便利そうだったのでdein.vimに乗り換えることに. dein.vim:tomlファイルでプラグイン管理する この辺を参考にどうぞ.
terminal emulatorの便利さ
vimの:shでは:(v)splitで複数画面に分割,或いは:ntabで複数タブに分割したときに,全ての画面領域が同時にシェルに入ってしまう不便さがあった.(:!
neovimの:terminalで起動するterminal emulatorでは画面領域の一箇所のみで実行されるので以下のスクリーンショットのように,neovimを抜けずに並行してターミナル操作が可能.
この便利さだけでもneovim移行の理由には充分.
ちなみにterminal emulatorを抜けるにはCtrl + \, Ctrl + nをタイプすればいい.
抜けたターミナルに戻るにはiやaなどのinputモードに入る類のコマンドをタイプする.
抜けた後はgtやCtrl + w, [h,j,k,l]で好きな画面に移動可能.
所感
terminal emulatorまじ便利.