それでも気分は高専生

元高専生が自分のやってきたことを記事として残すためのてきとーなブログ

neovimの導入

しばらく放置していたブログに久しぶりの投稿.

この間neovimなるものを見つけ,移行を決心. プロジェクトとしては,レガシーなvimをモダンなコードで書き直そうといった趣旨のもの. (vimの開発者)

主な特徴は
* 非同期処理が使いやすくなった
* msgpack APIの利用により,任意の言語での非同期処理が可能
(ref. Related projects · neovim/neovim Wiki · GitHubAPI clients)
* terminal emulatorの導入 (vimでの:shで実行されるようなやつ)
* カーソルの表示やtrue colorが使えるなどモダンな仕様に
* vimrcなどの設定をそのまま流用可能
を掲げているらしい.

インストール

macOSbrewを使っているなら話は早い.

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移行の理由には充分. f:id:takahiro0914:20170807175841p:plain ちなみにterminal emulatorを抜けるにはCtrl + \, Ctrl + nをタイプすればいい.
抜けたターミナルに戻るにはiやaなどのinputモードに入る類のコマンドをタイプする.
抜けた後はgtやCtrl + w, [h,j,k,l]で好きな画面に移動可能.

所感

terminal emulatorまじ便利.

参照サイト

neovim.io

giginet.hateblo.jp