Vimから乗り換える予定はありませんが、Neovimが少し気になったのでDebian11に入れてみました。
Neovimのインストール
下記サイトにAppImage形式のNeovimがあったので、それを使うことにしました。
https://github.com/neovim/neovim/wiki/Installing-Neovim
curlコマンドでファイルをダウンロードします。
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
私はAppImageを使ったことが無かったので、ホームディレクトリにAppImage用のディレクトリを作成しました。
$ mkdir .appimages
ダウンロードしたnvim.appimagesを.appimagesディレクトリに移動し
$ mv nvim.appimage .appimages/
実行権限を付与しました。
$ cd .appimages/ $ chmod u+x nvim.appimage
私の環境では~/.local/binにパスを通してあるので、そこにシンボリックリンクを配置しました。
$ ln -s /home/hoge/.appimages/nvim.appimage /home/hoge/.local/bin/nvim
固まったらCtrl + C
理由は不明ですが、Neovimが固まることが時々あります。
固まった場合、とりあえず「Ctrl + C」を押すと何とかなります。
おや?挙動が少し違うような?
少し触ってみて最初に違和感を覚えたのはモーションコマンドの挙動がVimと若干違うことでした。
たとえば、ggを叩いたところ、先頭行には移動するけれど行頭にはカーソルが移動しません。ヘルプを見たら、startoflineオプションがセットされていないと、行頭には移動しないとのことでした(移動前にカーソルがあった列と同じ列に移動する)。
そこで、init.luaに以下の設定を記述しました。
vim.opt.startofline = true
これでggによって先頭行の行頭にカーソルが移動します。
次に気づいたのはYの挙動です。VimだとyyもYも同じ挙動をしていますがNeovimでYを叩いたら、行全体ではなく、カーソル位置から行末までがコピーされました。これに関しては、この挙動の方が好みだなと思ったので、NeovimではなくVimのキーマップを変更しました。
nnoremap Y y$
あと、Vimではデフォルトで有効になっていないオプションがNeovimでは最初からセットされていることが多かった気がします。ただ、大抵はその方が便利だなと思うことが多かったです。