Neovimをはじめて使ってみる
2019年08月03日
Visual Studio Codeを使ってきて環境をまたいで使えるエディタの良さに気付いたのですが、VSCはちょっと重たいのでもうちょっと軽めのエディタもほしい。
どこのプラットフォームでも動くエディタといえばEmacsかVimですが、今回はVim教に入信することにしました。今からだとNeovimのほうがよさそうな気がしたのでNeovimを使うことにします。
導入
Windows
Chocolateyを使います。
C:\tools\neovim\Neovim\bin\nvim-qt.exe がGUI版の実行ファイルになります。
Arch Linux
communityリポジトリに入っています。
Ubuntu
upstreamが供給しているPPAがあります。
macOS
homebrewに入っています。
設定
Windowsでは%UserProfile%\AppData\Local\nvim
の下に、UNIXでは~/.config/nvim
の下にinit.vimとginit.vimを置きます。init.vimは全体的な設定、ginit.vimにはGUI版が起動する時にのみ適用する設定を書きます。
設定ファイルの書き方自体はVimと一緒です。探せば「とりあえずこれをコピペしておけ」というような基本的な設定が見つかると思います。
プラグイン
Vimは拡張性に優れたテキストエディタです。軽めのエディタがほしいということであまりカリカリにカスタムするつもりはないのですが、そうは言っても良いエコシステムがあるのにプラグインを使わないのはもったいない。ということでプラグインも使ってみることにします。
プラグインをインストールしたり管理するには、プラグインマネージャを使うのがよいとされています。今回はdein.vim
を試してみます。
Shougo/dein.vim: Dark powered Vim/Neovim plugin manager
Windowsではインストール用のシェルスクリプトは当然動かないので、手動でインストールします。GitとPython3が必要なので、事前にインストールしておきます。インストール先は~/.cache
以下にします。
init.vimの頭とかにこれを追記しておきます。
dein.vimの初回インストール時と、プラグインを追加した時にはコマンドモードで:call dein#install()
を走らせておきます。
今回はカラースキームとAirlineを導入しました。色がいい感じになってステータスラインがいけてる感じになります。
カラースキームはginit.vimに設定を書いて有効にしておきます。ついでにPowerline対応フォントも。
キーバインドに慣れる
Vim Cheat Sheet にもありますが、個人的に厳選したものを以下にまとめておきます。ウィンドウ分割以外を覚えておけば、普通のテキストエディタでできるような編集で困ることはないと思います。
移動
h
- 左に移動
j
- 下に移動
k
- 上に移動
l
- 右に移動
5j
- 5行下に移動(同様の操作が上下左右すべてで可能)
w
- 単語の先頭にジャンプ
e
- 単語の最後にジャンプ
^
- 行頭にジャンプ
$
- 行末にジャンプ
Ctrl+d
- 1/2画面ぶん下に移動
Ctrl+u
- 1/2画面ぶん上に移動
テキスト編集
i
- 挿入モードに入る
Esc
or Shift+[
- ノーマルモードに入る
v
- ビジュアルモードに入る
u
- アンドゥ
Ctrl+r
- リドゥ
y
- (ビジュアルモードに入って文字を選択した状態で)ヤンク
d
- (ビジュアルモードに入って文字を選択した状態で)カット
yy
- 現在の行をヤンク
dd
- 現在の行をカット
5yy
- 現在の行から5行下までをヤンク(同様の操作はカットでも可能)
p
- ペースト
保存と終了
:w
- 保存
:q
- 終了(保存していない場合終了できない)
:q!
- 保存せずに終了
検索と置換
/{検索する文字列}
- 下方向に検索
?{検索する文字列}
- 上方向に検索
n
- 同じ方向に再検索
N
- 逆方向に再検索
:%s/置き換える元の文字列/置き換えた後の文字列/gc
- 置換(確認あり)
:%s/置き換える元の文字列/置き換えた後の文字列/g
- すべて置換
ウィンドウの分割
Ctrl+w
s
- ウィンドウを水平に分割
Ctrl+w
v
- ウィンドウを垂直に分割
Ctrl+w
w
- ウィンドウを切り替え
Ctrl+w
q
- 分割したウィンドウを閉じる
Windowsの右クリックメニューに「Neovimで開く」を追加する
これはNeovimに限ったことではないのですが、\HKEY_CLASSES_ROOT\*\shell
以下にキーを作るとファイルをNeovimで開くためのメニューを作れます。便利。