neovimメモ

今後のタスク
Neovimをとにかく使う
開発のときに使いこんで良さを解っていきたい。。
dotfilesをGitHubに上げる
晒すかどうかは迷う
git-bashとNvimのカラースキーマが衝突している説を検証
プラグインのカラースキーマをいろいろ試している時に、上手く設定できていないことが多々あった。
しかもライトテーマは顕著に醜くなっていた。。
→ windows-terminalでgit-bashにテーマを設定しちゃっているせいなのではないか??
プラグインを追加していく
とりま主要なものは設定したが、VScodeと比べるとまだまだ不便さを感じてしまうので、自分好みに改造していく

lazy.nvim の導入
👇公式ドキュメント: ちゃんと見やすいのでこっちもちょいちょいチェックする。
日本語では以下の記事が細かく書いている
使い方
控えめに横転。
1つのファイルにまとめて書き込むことも出来るが、plugins
ディレクトリを作成し、各ファイルにそれぞれプラグインを分割することが推奨されている。
プラグイン名とプラグインの設定をまとめて一緒に書くことができるため、基本的にはこちらに従ってよさそう。
- 諸設定が細かく必要なプラグインは単独のファイルにまとめる
- その他はカテゴリごとにまとめてファイルを作成する
これでプラグインを簡単に管理することが出来そう。

インストールしたプラグインたち
- https://github.com/EdenEast/nightfox.nvim
- https://github.com/neovim/nvim-lspconfig
- https://github.com/numToStr/Comment.nvim
各プラグインの補足
導入するかどうかは置いておいて、気になったプラグインの補足メモをここに書いていく。
mini.nvim
デフォルトの設定があるため、こだわりがなく、とりあえずいろいろな機能を追加したいな~という時はこれを使ってみたら良いかも
Comment.nvim
ぶっちゃけ絶対に使うので、必須級のプラグインだと思う。

LSPについて
Language Server Protocolの略称。
各エディタ・IDEで各言語の拡張機能を作る際の負担を減らすためにMicrosoftが主導して作成された。
このLanguage Serverとエディタを同期したうえで、適宜リクエストを送ることで補完機能等を実現している。
詳しくは以下の記事を参照されたい。
LSPを使って補完機能を導入する
これらを参考に設定する。
Lua入門
1つ目の記事を書いた人がこれより前に以下の記事を書いていた。
(名前はギリ知っているが、なんのこっちゃ。Pythonの親戚だったっけ?)

Neovim関連の記事
最初はプラグインやらを設定せずに、純粋にテキストの編集を目的としていいかも

基本操作
v
: ヴィジュアルモード
ノーマルモードでv
を押すとヴィジュアルモードになる。
再び押下するとノーマルモードとなり、v
でモードをトグルできるようだ。
現在の行選択をされた状態になり、キー移動することで複数行の選択ができる。
この選択状態でそれぞれ以下の編集が可能。メチャ便利!
-
y
: コピーする -
d
: 削除する -
p
: 貼り付けする

Treesitter
パーサーであり、より詳細なシンタックスハイライトを設定できる。
設定方法
Installation · nvim-treesitter/nvim-treesitter Wikiの設定で行ける。
ここで言われているように、結論は使用できる言語一覧
READMEに実装されているもの、実装予定(?)の一覧がアルファベット順に並んでいるため、確認されたい。
Windowsの場合は注意
つまるところ、Cのコンパイラ群が必要。
案内通りにMingw
をインストールしてきたらいいと思う。
しかも厄介なのが、どうやらTree-sitterのCLIもインストールする必要がありそうだということ。
自分の環境ではプラグインの設定だけでは動かなかったので、npm i
でインストールした。
npm i -g tree-sitter-cli
組み合わせられる各種プラグイン
Treesitterはあくまでパーサーなので、組み合わせられるプラグインがたくさんある。
nvim-ts-autotag
自動でタグを閉じてくれるReact, HTMLを使っている時に欲しい機能。
Telescope
FuzzyFinderとやら。
ファイル検索が圧倒的に強化される必須プラグインの1つ。
ショーケース

color scheme
それぞれREADMEにスクリーンショットがあるので、これらを見比べながら選ぶ。
ちなみに、tree-sitterのWikiに各テーマを設定した場合のソースのスクショがあるので、ここから選ぶのもオススメ。
material
READMEが良心的で、導入は楽ちんだった。
edge
基本的にtsx
ファイルとc
ファイルを見ながら好みのものを探した結果、これに落ち着いた。
だがはっきり言って、バリデーションのテーマ設定が面倒くさかった。
「READMEに書いといてよ...」となった。
以下のようにvimのグローバル変数が用意されているそうなので、vim.g.edge_style = "aura"
などとした。
他に気になったモノたち

その他
布教・学習用
プラグイン集
フロントエンド環境構築の参考

カラースキーマが正しく反映されていない件
結論
使用しているターミナルがtrue colorに対応しているかどうか。
おそらくgit-bashの使っているものは256色しか対応していない(この中でやりくりするので満足しても良いんだが...)
ターミナルにも詳しくなりたい...

git bashに入ってるのでWSLに移行したいな