はじめに
AstroNvimを使って、簡単な設定をしてみたいと思います。
AstroNvimとは
AstroNvimとは、あらかじめプラグインや見た目などがセットアップされたNeovimの設定になります。
これを使うことで、使いやすいように設定されたNeovimをすぐに使うことができます。
インストール
AstroNvimは結局は設定ファイルの集まりなので、まずはNeovimとフォントとして使われるNerd Fontsが必要になります。
もしすでにNeovimを使っている場合は、今ある設定ファイルでバックアップを作成しておきます。
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
Neovimの設定ファイルのディレクトリにAstroNvimの設定ファイルたちをクローンします。
git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim
nvim
これでAstroNvimを使い始めることができます。
基本的な使い方
基本的な使い方やデフォルトのキーマッピングは下記のドキュメントにまとまっています。
設定方法
プラグインの管理はlazy.nvimを使っているので、下記のコマンドでプラグインのアップデートができます。
:Lazy check
:Lazy update
下記のコマンドで指定したLSPやLanguage Parser、デバッガーをインストールできます。
:LspInstall
:TSInstall
:DapInstall
AstroNvimの設定を変更したい場合は、~/.config/nvim/lua/user
のディレクトリを作成してその中に設定ファイルを作成します。user
ディレクトリ配下のファイルはテンプレートが用意されているのでそちらを使うことができます。
私の場合は、とりあえずuser/options.lus
にあるrelativenumber=false
にしました。
-- set vim options here (vim.<first_key>.<second_key> = value)
return {
opt = {
-- set to true or false etc.
relativenumber = false, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number
spell = false, -- sets vim.opt.spell
signcolumn = "auto", -- sets vim.opt.signcolumn to auto
wrap = true, -- sets vim.opt.wrap
},
...
また、dotfilesを用意している場合はシンボリックリンクを貼れば、dotfiles内で管理できます。
ln -s ~/dotfiles/astronvim ~/.config/nvim/lua/user
まだまだプラグインをカスタマイズしたりできそうなので、徐々になれていきながら、カスタマイズしていきたいと思います。
luaファイルでエラーが出た場合の対処法
設定ファイルがlua
で書かれていますが、インストールしただけだと下記のようなエラーが出てきます。
下記のコマンドでLanguage Parserを入れてあげることで解決できるかと思います。
:TSInstall lua
参考
- AstroNvim/AstroNvim: AstroNvim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins
- AstroNvim/user_example: An example user configuration with a split up structure
- Home - Neovim
- neovim/neovim: Vim-fork focused on extensibility and usability
- ryanoasis/nerd-fonts: Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
- no syntax highlighting with *.lua files + treesitter error · Issue #1673 · AstroNvim/AstroNvim
- folke/lazy.nvim: 💤 A modern plugin manager for Neovim