
Neovimをはじめて使ってみる
2019年08月03日
Visual Studio Codeを使ってきて環境をまたいで使えるエディタの良さに気付いたのですが、VSCはちょっと重たいのでもうちょっと軽めのエディタもほしい。
どこのプラットフォームでも動くエディタといえばEmacsかVimですが、今回はVim教に入信することにしました。今からだとNeovimのほうがよさそうな気がしたのでNeovimを使うことにします。
導入
Windows
Chocolateyを使います。
choco install neovim
C:\tools\neovim\Neovim\bin\nvim-qt.exe がGUI版の実行ファイルになります。
Arch Linux
communityリポジトリに入っています。
sudo pacman -S neovim neovim-qt
Ubuntu
upstreamが供給しているPPAがあります。
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt update && sudo apt install neovim
macOS
homebrewに入っています。
brew install neovim
設定
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
以下にします。
> mkdir -p ~/.cache/dein/repos/github.com/Shougo
> git clone https://github.com/Shougo/dein.vim ~/.cache/dein/repos/github.com/Shougo/dein.vim
init.vimの頭とかにこれを追記しておきます。
" dein.vim
if &compatible
set nocompatible
endif
" Add the dein installation directory into runtimepath
set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim
if dein#load_state('~/.cache/dein')
call dein#begin('~/.cache/dein')
call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim')
call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
call dein#add('roxma/nvim-yarp')
call dein#add('roxma/vim-hug-neovim-rpc')
endif
" ここに使いたいプラグインを書いておく
call dein#add('tomasr/molokai')
call dein#add('dracula/vim')
call dein#add('vim-airline/vim-airline')
call dein#add('vim-airline/vim-airline-themes')
call dein#end()
call dein#save_state()
endif
filetype plugin indent on
syntax enable
dein.vimの初回インストール時と、プラグインを追加した時にはコマンドモードで:call dein#install()
を走らせておきます。
今回はカラースキームとAirlineを導入しました。色がいい感じになってステータスラインがいけてる感じになります。
カラースキームはginit.vimに設定を書いて有効にしておきます。ついでにPowerline対応フォントも。
Guifont Cica:h12
set background="dark"
colorscheme molokai
キーバインドに慣れる
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で開くためのメニューを作れます。便利。