技術

Neovim入門1 (インストール〜初期設定)

仕事が暇だったので、Neovimを触りはじめてしまいました。

たぶん人生で3度目ぐらいの、Vim導入チャレンジです。

初回のセットアップでやったことを備忘録として残していきます。

前置き – Neovimに興味を持った理由-

『Software Design 2022.07』にVimの特集がありました。

VimやNeovimのプラグインやカスタマイズの紹介ではなく、カーソルやコマンドの操作中心の特集でした。個人的には今さら感がありました。カスタマイズ例などは見てみたかった気がしますが。。。

今はVSCodeがすごすぎて、もうVimはもう時代遅れなのでは?って思いながら、テンション低めで特集を読んでいました。カーソル系も自作キーボードやマクロでそれなりに強力なことできるので、Vimの優位性も薄まってきていますしね。

と、読んだときはこう思ったのですが、私自身、ターミナルを触っているときに、たまにVimは使っています。ほとんど設定していない状態ではありますが。

ちょっとした編集とかはエディタに移動したり起動するほうが面倒くさいレベルの簡単な修正は、Vimでやってしまっています。で、改めて認識してみると、複数行にわたるカーソル移動とかは、やっぱりVimの方が便利なんですよね。

で、思ったわけです。

Vimでゴリゴリとコーディングできるようになりたいな!と。

仕事が暇だったということもあり、Vimを導入してみようと思いました。で、今、ゼロから導入するならVimでなくNeovimだろうと思った次第です。

Neovimことはじめ

というわけで、インストール〜初回のセットアップまでやっています。

端末はM1 Mac、ターミナルはiTerm2を使用しています。

インストール

公式のインストールページはこちら。https://github.com/neovim/neovim/wiki/Installing-Neovim

ここにある通り、brewでサクッとインストールできます。

brew install neovim

確認

% nvim --version
NVIM v0.7.0
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@HMBRW-A-001-M1-004.local

Features: +acl +iconv +tui
See ":help feature-compile"

      システム vimrc: "$VIM/sysinit.vim"
       省略時の $VIM: "/opt/homebrew/Cellar/neovim/0.7.0/share/nvim"

Run :checkhealth for more info

インストールはこれで完了です。

nvimでファイルを開くことができるようになります。何も設定していない状態でもカラーレンダリングされていて、Vimよりかなり見やすいです♪

セットアップ

設定ファイル作成

とりあえず、カスタマイズの方法をキャッチアップしていきます。

Neovimのconfigファイルは init.vim と init.lua の2パターンあります。ネット上でも混在しています。init.vimは従来のvimrcのような記述方法です。たぶん。init.luaはスクリプト的な書き方ができる設定ファイルです。

init.luaのほうが新しく、公式でもこちらが推奨されているます。既存のVim設定資産などがない場合は、init.luaを使うべきでしょう。私は引き継ぐほどのVimカスタマイズはしていないので、init.luaで新しく設定していくことにします。

というわけで、設定ファイルを作成します。

mkdir ~/.config/nvim
touch ~/.config/nvim/init.lua

こちらに基本的な設定がまとまったリポジトリがあります。

こちらで一気に基本的な導入をすませるという手もあります。

私は自分の設定はすべて把握しておきたいので、こちらの設定の書き方を参考にしつつも、マイペースで1つずつやっていく予定です。

設定を入れてみる

とりあえず、簡単な設定だけ、init.luaに入れ見ます。

nvim ~/.config/nvim/init.lua
vim.opt.fileencoding = "utf-8"                  -- the encoding written to a file
vim.opt.cursorline = true                       -- highlight the current line
vim.opt.number = true                           -- set numbered lines

この時点で適当なファイルを開くと、行数と現在行に下線が入るようになり、少しエディタっぽくなりました!

パッケージ管理ソフト packer.nvim を導入する

Vimの基本設定の入れ方がわかりました。追々、カスタムしていくとして、次はパッケージのインストールをしてみることにします。

パッケージ管理はいくつかあるみたいですが、packer.nvimが良さそうです。以下が、大変参考になりました。

https://qiita.com/delphinus/items/8160d884d415d7425fcc

というわけで、まずは packer.nvim を入れて行きます。

git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim

packer.nvimの設定ファイルを作成します。

mkdir ~/.config/nvim/lua
nvim ~/.config/nvim/lua/plugins.lua
require'packer'.startup(function()
    -- Packer can manage itself
    use 'wbthomason/packer.nvim'
end)

このファイルをinit.luaにincludeします。以下を追記します。

require'plugins'

この時点では、まだパッケージは何も入れていないので、nvimでファイルを起動しても変化はありません。

color:schema を入れてみる

パッケージの追加の仕方や設定方法を学ぶために、何が1つ入れてみます。

やっぱり見た目を変えるのが一番モチベーションあがるので、ColorThemeを入れてみることにしました。いつものAtomOne Darkを入れようと思ったのですが、ちょっと飽きてきたのとVsCodeやJetbrainsと見分けが付くようにしたいので、今回は kanagawa を入れることにします。

https://github.com/rebelot/kanagawa.nvim

少し地味ですけど、見やすくていいテーマだと思います。

plugins.lua に以下を追記

use "rebelot/kanagawa.nvim"

init.lua に以下を追記

vim.cmd("colorscheme kanagawa")

パッケージ管理マネージャーの PackerSync コマンドを実行。

nvimでファイルを起動するとkanagawaのcolorになりました。

まとめ

以上、Neovimのインストールから初期設定についてでした。

今回の内容で、基本的なカスタム方法とパッケージの追加方法はわかったので、後は、自分が好きなパッケージをガンガン入れて自分好みに仕上げていくだけですね。楽しみです♪