初めてのNeovim。初心者Mac環境構築編
こんにちは。ke1nyです。
最近、Reactを独学していて、オリジナルのCMSとか作ってみたいなぁと思っていて、その開発ツールとしてVSCodeを使用しているのですが、せっかく新しいフレームワークを覚えるのだから、VSCodeとは違うエディタで開発モチベーションを高めてみますか!ということでVSCode以外のエディタを調べてみました。
すると、全世界のプログラマーはvimを使用されている方が多いということ、その派生したエディタのNeovimが良いよという情報をキャッチしたので、Neovimで頑張って開発してみようという記録になります。
最終的にはNeovimで、React開発して簡単なCRUDアプリを作成できるところまでを目指します。
Neovimインストール
はじめに、HomebrewでNeovimをインストールします。
brew install neovim
インストールできてるか確認します
nvim -version
NVIM v0.9.0
...以下省略...
設定ファイルの設定
Neovimの設定ファイルを作成します
mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.lua
mkdir -pは新規でディレクトリを作成するコマンド
-pは親ディレクトリも一緒に作成してくれるオプション
touchは、新規でファイルを作成してくれるコマンド
init.luaがNeovimの設定ファイルになりますが、init.vimでも良いそうです。
ただしinit.luaとinit.vimは混在できないそうです。
今回は、init.luaで設定を追加していくことにします。
init.luaファイルをnvimで起動しよう
ターミナルのカレントが、nvimフォルダであれば、そのままinit.luaファイルを起動できますが、ターミナルを消してしまった場合は、一度nvimフォルダまでcdしましょう
cd ~/.config/nvim
nvimコマンドで、init.luaファイルを開きます
nvim init.lua
コマンドを実行すると、データが入っていないinit.luaファイルがターミナル上で開きます。
キーボード上で[i]を押下すると挿入モードになり、ファイルに書き込みができます。
ファイルの書き込みが完了し、保存したい場合は挿入モードを抜け出し[esc]キーを押下して、[:w]を押下するとファイルが保存されます。
[:q]を押下するとファイルが閉じます。
Neovimのコマンド集に関しては、他のサイトで確認してください。
いつか、備忘録としてまとめるつもりです。
Neovimのデフォルト設定
ネット上でおすすめしている設定を参考にして、以下のようにしました。
init.luaの設定をカスタマイズすることで、自分好みのエディタに育てるというイメージですね…おそらく。
local options = {
fileencoding = "utf-8", --エンコーディングをUTF-8に設定
swapfile = false, --スワップファイルは作成しない
helplang = "ja", --ヘルプファイルの言語は日本語
hidden = true, --バッファを切り替えるときに、ファイルを保存しなくても良いように
number = true, --行番号を表示
wrap = false, --画面の右端で改行しない
ambiwidth = 'double', --記号が半角文字と重なる問題を解消。記号を全角文字の幅で表示する
autoindent = true, --新しい行を開業したとき、1つ上の行のインデントを引き継ぐ
smartindent = true,
cursorline = true, --カーソルが存在する行にハイライトを当ててくれます
tabstop = 2, --TABキーを押したとき、2文字分の幅をとる
softtabstop = 2,
shiftwidth = 2,
expandtab = true, --tabstopで指定した数の分の半角スペースが入力
autoread = true, --vim以外でファイル変更したときに自動再読み込みする
showmatch = true, --括弧の連携
matchtime = 1,
ignorecase = true, --大文字無視
smartcase = true, --大文字で検索したら区別をつける
wrapscan = true, --検索が末尾までいったら先頭から検索
}
for k, v in pairs(options) do
vim.opt[k] = v
end
設定ファイルの分割
以下のように設定ファイルを分割することで、init.luaに記載する量が減り、複数の設定ファイルを管理することができます。
cd ~/.config/nvim
mkdir lua && cd lua
nvim basic_config.lua
~/.config/nvim/lua/basic_config.luaに先ほど作成したinit.luaの設定項目をコピーします。
そして、init.luaを書き換えます
--basic_config.luaに記述してあるコードを読み込む
require('basic_config')
ロードする際、.luaの拡張子は不要です。あと./luaのディレクトリの記述も不要です。
init.luaには他のファイルを読み込む設定のみ書けば、管理が楽になりそうですね。
とりあえずNeovimで開発できそうな感じ
今まで仕事では、VSCode、VisualStudio等のIDE環境で開発することが多かったのですが、Neovimの構築も比較的わかりやすいのと、起動も早いので
プログラマーに人気なエディタというのも頷けます。
次回以降は、init.luaに対して広く使われていそうなプラグインを試しにロードしてみたり、React開発する前にtmuxの環境構築もしようと思います。
その後、React開発に必要な環境諸々も整理していこうと思います。
エディタを自分好みにカスタマイズしていくのが好きな人はNeovim向いているかもしれませんね〜