Open8

Neovim(NvChad)に入門してみる

MerucuMerucu

Vim系エディタ使ってみたい!

VSCodeしか使ってこなかったけど、そろそろVimにも入門してみたいなと思ったので環境構築してみる!

Neovim

Vimから派生したエディタ。成長曲線が急ことでおなじみ(?)。
https://neovim.io

NvChad

Neovimにいい感じのpluginをセットアップしてくれる便利ツール。テンプレートの様なもの。
https://nvchad.com

MerucuMerucu

Nvimをインストールする

最新版じゃないとプラグインが対応していなかったりするのでsnapdを使用する

snap install nvim --classic

NvChadをインストールする

公式Quick Startに従ってインストールする

git clone https://github.com/NvChad/starter ~/.config/nvim && nvim

(数か月前にQuick Startに更新が入りコマンドが変わっており、今後も変わる可能性があるので参考程度に)

MerucuMerucu

NvChadの.gitを削除しておく

Nvim内のファイルツリー上で、コミットされていないファイルは✘と表示されてしまい見ずらいので、.gitディレクトリを削除しておく。
(もちろん、Nvimの設定をGitで管理したい場合は不要。)

rm -rf ~/.config/nvim/.git

ここから、Nvimの設定をしていく。

MerucuMerucu

テーマの設定

Nvimを開き、Space+thでテーマの選択画面が開くので好みのものを選ぶ。

操作方法

一つ下のテーマを選択 : Down(↓)もしくはCtrl+n(Next)
一つ上のテーマを選択 : Up(↑)もしくはCtrl+p(Prev)
決定 : Enter

MerucuMerucu

キーマッピングの追加

ファイルを開く

Ctrl+nファイルツリーを開き、~/.config/nvim/lua/mappings.luaを選択。

操作方法

一つ下のテーマへ : Down(↓)もしくはj
一つ上のテーマへ : Up(↑)もしくはk

mappings.luaを編集

require "nvchad.mappings"

local map = vim.keymap.set

map("n", ";", ":", { desc = "CMD enter command mode" })
map("i", "jk", "<ESC>")

- --- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
+ map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")

+ map("t", "<ESC>", [[<C-\><C-n>]])

map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")

Ctrl+sで現在編集中のファイルを保存する。

map("t", "<ESC>", [[<C-\><C-n>]])

ESCでターミナルを抜ける。

MerucuMerucu

操作方法について参考にしたサイト

NvChad内蔵のCheatSheet

Leader(Space)+chで起動できる。
普段使いするキーマップは網羅されているが、説明が少ないので実際にどのような動作をするのか理解しづらいところが難点。

Rocky LinuxのDocumentation

初歩的な操作方法について実際の動作と共に分かりやすく解説されおり、非常に分かりやすかった。
https://docs.rockylinux.org/ja/books/nvchad/nvchad_ui/using_nvchad/

MerucuMerucu

覚えておきたいキーボードショートカット⌨

随時追加していきます。

Nomalモードで使うキー

全般

Key 説明
Tab 次のバッファー(タブ)に切り替え
Shift + Tab 前のバッファーに切り替え
Ctrl + h|j|k|l ウィンドウ(バッファー, ファイルツリー, ターミナルなど)を切り替える

カーソルを移動

Key 説明
0 カーソルを行頭に移動
$ カーソルを行末に移動
^ | _ カーソルを空白文字を除いた行頭に移動

Insertモードに切り替える

Key 説明
i Insertモードに入る(カーソル位置は現在カーソルがある文字の側となる)
a Insertモードに入る(カーソル位置は現在カーソルがある文字の側となる)
A Insertモードに入る(カーソル位置は行末となる)
o Insertモードに入る(現在の行の下に空の行が挿入され、カーソル位置がその行となる)

文字列の削除

Key 説明
x 一文字削除
dw 現在のカーソル位置から単語の終わりまでを削除(delete word)
dd 一行削除
D 現在のカーソル位置から行末までを削除

Insertモードで使うキー

Key 説明
Ctrl + h|j|k|l カーソルを移動する(|||)
Ctrl + e 補完を無視する
MerucuMerucu

覚えておきたいコマンド

Command 説明
:loh serchしたときのハイライトを消す