1
1

AstroNvimを用いたneovim環境構築

Last updated at Posted at 2024-07-20

サマリー

  • さくっと環境をつくるならdistribution(今回でいうとAstroNvim)を使うと便利
  • 動けばヨシってスタンスなので細かい挙動の説明してないです

はじめに

自分は約1年ほどneovimを使用してきたのですが、もらった設定ファイルを使っていたので下記のような困りがありました

  • ファイルがたくさんあるけどどれがなんのために存在しているのかわからない
  • pluginの更新があったときにどこを直せばいいのかわからない

自分の中でneovimに対しての理解を深めたいという気持ちもあり自分で新たに環境を作り直すことにしました。
この記事は進めていく中で思ったことや引っかかった部分を備忘録的にまとめたものになります。
(※間違った説明や用語を正しく使えていない箇所もあるのでお手柔らかにお願いします、、)

AstroNvimとは

どのように環境を作ろうかと思って調べていく中で、AstroNvimというものを見つけました。
AstroNvimの特徴としては、AstroNvimをインストールするだけで他のpluginもインストールしてくれる便利なneovim環境starterkitみたいな感じです。

AstroNvimをインストールする

進め方はこのリンクを参考にして進めていきました。
requirementsでnvimをインストールしておくことやnerd fontを準備しておく等ありますが、この辺はスキップします。

# 既存のnvim環境がある場合はbackupしておく
# $はついてないけどterminalで叩くコマンドです
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
# AstroNvimのリポジトリからnvimの設定ファイルをクローンする
git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim
rm -rf ~/.config/nvim/.git

ここまででインストールは完了しており、neovim環境に必要なファイルが適切なディレクトリ構造で提供されます。
その後下記コマンドでnvimが開けたらOKです。

nvim

よく利用しているpluginまとめ

AstroNvimをインストールした時点で様々なpluginを利用できる状態になっています。
その中で自分がよく使うpluginについてざっくり説明してみようと思います。

telescope.nvim

言わずとしれたfuzzy finderでfile検索やgrep等ができます。
条件に引っかかったファイル一覧と中身のpreviewが見れます。
めっちゃ使います。
image.png

neo-tree.nvim

ディレクトリやファイルをブラウズできる(デフォルトはサイドバーで表示してくれる)
その中でファイルの作成や削除、リネームもできる。
image.png

which-key.nvim

入力中に利用可能なキーバインドをポップアップで表示してくれる。
AstroNvimで設定されているpluginのデフォルトのキーバインドは基本的にスペースから始まるからとりあえずスペース押せば何できるかが見れる。
image.png

これらをとりあえず利用したらテキストエディタとしては困らないくらいにはなるはずです。

個人的に入れたplugin

AstroNvimで標準では入っていないものなのですが個人的に入れてみて便利だったものもいくつか上げてみようと思います。
インストール方法についてはどっかのタイミングで追記しようと思います、、

hlchunk.nvim

インデントのハイライトやカーソルの位置に応じてコードのチャンクをハイライトしてくれる。
AstroNvimでは同様なことができるindent-blanklineというpluginがインストールされていますが、indent-blanklineはdisableしてこちらを利用しています。
image.png

noice.nvim

コマンドラインや/を押したときのsearchを画面中央に表示してくれる。
またメッセージを通知として出してくれます。
個人的には置換したいときにliveでpreviewしてくれるとこも気に入ってます。
あと左下にわざわざ目をやらなくてよくなるのもいい感じです。
image.png
これに関しては既存のなにかしらの設定とバッティングしてエラーを吐いたので(詳細はよくわかっていない)設定自体も一応載せておきます。

# 自分の場合はhoverとsignatureの部分でエラーを吐いたのでnoice側でenabledをfalseにしている

  config = function()
    require("noice").setup {
      lsp = {
        hover = {
          enabled = false,
          silent = false, 
          view = nil, 
          opts = {}, 
        },
        signature = {
          enabled = false,
          },
        },
      },

この環境に変えてからの感想

  • AstroNvimでインストールされているplugin側でバージョンアップがあった場合に自分で特に設定ファイルを書き換える必要がなくAstroNvimのアップデートをするだけだから楽
  • メンテされているうちはいいけどされなくなったとき何もわからん状態になってしまうかもしれないからある程度自分で触っておいたほうがよさそう
  • 気軽にneovim使ってみようって場合は結構おすすめできる
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1