Skip to main content
Version: 2.7.0

Getting Started

AstroNvim Screenshot

⚡ Requirements

  • Nerd Fonts (Optional with manual intervention: See Recipes/Customizing Icons)
  • Neovim 0.8 (Not including nightly)
  • Tree-sitter CLI (Note: This is only necessary if you want to use auto_install feature with Treesitter)
  • A clipboard tool is necessary for the integration with the system clipboard (see :help clipboard-tool for supported solutions)
  • Terminal with true color support (for the default theme, otherwise it is dependent on the theme you are using)
  • Optional Requirements:
    • ripgrep - live grep telescope search (<leader>fw)
    • lazygit - git ui toggle terminal (<leader>tl or <leader>gg)
    • go DiskUsage() - disk usage toggle terminal (<leader>tu)
    • bottom - process viewer toggle terminal (<leader>tt)
    • Python - python repl toggle terminal (<leader>tp)
    • Node - node repl toggle terminal (<leader>tn)

When using default theme: For MacOS, the default terminal does not have true color support. You will need to use iTerm2 or another terminal emulator that has true color support.

🛠️ Installation

Make a backup of your current nvim folder

mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim/site ~/.local/share/nvim/site.bak

Clone the repository

git clone ~/.config/nvim
nvim +PackerSync

📦 Setup

Install LSP

Enter :LspInstall followed by the name of the server you want to install

Example: :LspInstall pyright

Install language parser

Enter :TSInstall followed by the name of the language you want to install

Example: :TSInstall python

Manage plugins

Run :PackerClean to remove any disabled or unused plugins

Run :PackerSync to update and clean plugins

Update AstroNvim

Run :AstroUpdate (<leader>pA) to get the latest updates from the repository

Update AstroNvim Packages

Run :AstroUpdatePackages (<leader>pa) to update both Packer plugins and Mason packages

Reload AstroNvim (EXPERIMENTAL)

Run :AstroReload to reload the AstroNvim configuration and any new user configuration changes without restarting. This is currently an experimental feature and may lead to instability until the next restart. We have noticed that in particular some language servers do not correctly unattach and reattach after the reloading and cause multiple LSP clients to attach to the same buffer.

✨ Features

⚙️ Configuration

To begin making custom user configurations you must create a user/ folder. The provided example can be created with (please note the trailing slashes after the directory names)

cp -r ~/.config/nvim/lua/user_example/ ~/.config/nvim/lua/user/

The provided example user_example contains an init.lua file which can be used for all user configuration. After running the cp command above this file can be found in ~/.config/nvim/lua/user/init.lua.