恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

Neovimをほんの少し触ってみた

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では最初からセットされていることが多かった気がします。ただ、大抵はその方が便利だなと思うことが多かったです。