Open6

nvim入門備忘録

はたけはたけ

いままでiTerm2を使っていたが軽量ターミナルのGhosttyがリリースされてターミナル愛が増し、いっそneovimでコードを書きたくなったのでいろいろメモ

neovimのインストール

$ brew install neovim

設定ファイルの作成

$ touch ~/.config/nvim/init.vim
set number
set expandtab
set smartindent
set shiftwidth=2
set softtabstop=2
set autochdir
set encoding=utf-8

nvimで起動しcheckhealthしてみると ERROR shada file is not writeable: とエラーが出た

shadaとはneovimのキャッシュファイルらしくファイルが壊れてるのか権限が足りないのかで書き込めないとのこと。
https://github.com/neovim/neovim/issues/12101

自分はmac OSなので rm ~/.local/state/nvim/shada/* でキャッシュを全て削除してみる

$~: ls ~/.local/state/nvim/shada
$~:

よし消えてる
もう一度 checkhealth してみる

Configuration ~
- ERROR shada file is not writeable:
  /Users/xxx/.local/state/nvim/shada/main.shada

アレェ!??

drwxr-xr-x@ 2 root  staff  64 Dec 30 15:14 shada

ディレクトリの権限も間違ってなさそう
いやフォルダの所有者がrootになってる!!

これを自分のユーザー名に変更して...

$ sudo chown -R <ユーザー名> shada

できた

NerdTreeをいれる
https://github.com/preservim/nerdtree

nvim-treeのキャッシュは多分保存する必要ないのでスワップファイルを無効にする

vim.api.nvim_create_autocmd("FileType", {
    pattern = "NvimTree",
    callback = function()
        vim.opt_local.swapfile = false
    end,
})

偉いのでinit.luaでなく lua/plugins 配下に作成した nvim-tree用の設定ファイル nvim-tree.lua に記載していく

pluginごとの設定ファイルにはスワップファイルの設定書いても起動時に呼び出されないわ!
init.luaに書く

わぁ〜〜い
NvimTreeとエディタ部分は Ctrl-w + h で左、Ctrl-w + l で右に遷移する
明日からCtrl + w素振りして体に覚えさせます

はたけはたけ

タブが4なのが受け入れられないので変更

vim.o.expandtab = true
vim.o.tabstop = 2
vim.o.shiftwidth = 2

expandtab: tabをスペースに置換
tabstop: tab文字の幅を変更
shiftwidth: neovimがインデントをする際の幅を変更(>> とかでインデントつける場合)

はたけはたけ

せっかくなのでnvim使ってnext.jsでブログ作成しながら適宜必要なプラグインなり設定を模索していく。
バックエンドは考えるのが面倒なので話題のsupabaseにする
https://supabase.com

NerdTreeの操作はこちらの記事で細かく翻訳してくださってた
ありがたい。。。ありがたい。。。!
https://qiita.com/Tsuyopon-1067/items/54bdfb5a24e62d1627ea

特によく使ったコマンド
Ctrl + ] : カーソルで選択したディレクトリに遷移

はたけはたけ

Nerdtree tips
shift + i で隠しファイルを表示できる

はたけはたけ

neovimにtypescriptのLSPをいれる
https://zenn.dev/nazo6/articles/c2f16b07798bab

init.luaでlsp関連のpluginをrequireのちnvimを再起動したらLazyのモーダルがでてきてありえん邪魔
Ctrl-c でも esc でも閉じない

ZZで閉じれた
このリッチなUIも変更可能なテキストと扱えばいいんだね

はたけはたけ

ミスって一旦 ~/.config/nvim 配下を削除してしまった
うろ覚えで設定を作成し直したがnvim実行時に

Error detected while processing /Users/xxx/.config/nvim/init.lua:
No specs found for module "plugins"

とエラーが発生するように

nvim実行しcheckhealthすると

- ERROR Issues were reported when loading your specs:
- ERROR No specs found for module "plugins"

ファイル構造はこんな感じ

├── init.lua
└── lua
    └── settings
        ├── core
        │   └── init.lua
        ├── plugins
        │   ├── mason.lua
        │   └── nvim-tree.lua
        └── plugins.lua