Install Neovim and Supporting Toolsλ︎
Neovim 0.10.x is the latest stable version
Suppoting Toolsλ︎
Neovim uses several command line tools for searching for files and their contents, using the operating system clipbaord and compiling Treesitter language parsers.
Install the following tools to support Neovim and AstroNvim
ripgrep
fast file contents search (used by telescope)find-fd
advanced search toolxclip
x11 clipboard as a provider for Neovim copy/paste (Linux only)luarocks
for LSP servers (AstroNvim)
Treesitter requires a C compiler
nvim-treesitter requires a C compiler , e.g. gcc
for Linux or clang
for android/termix
The C compiler is used to compile langauge support for treesiter.
AstroNvim requires node.js
AstroNvim uses Mason to install LSP servers, format and lint tools. Many of the LSP servers require node.
Install Neovimλ︎
Install from the Neovim GitHub releases for the latest version of Neovim, or use a Package manager for the operating system.
Download the Linux AppImage from the Neovim Release page and place the file on the executable path, e.g. $HOME/.local/bin
Make the AppImage executable
Create a symbolic link called nvim
to the nvim.appimage file.
nvim
command can now be run in a terminal from any directory.
Install from Homebrew or via the Neovim Release page
Homebrew
Neovim Release
Download nvim-macos.tar.gz
From the Neovim GitHub release page
Avoid "unknown developer" warning from MacOSX
Make a local apps directory for neovim (and other things like node.js, etc.)
Extract the neovim archive
Create the ~/.local/bin/nvim
symbolic link to include Neovim on the OS execution path
echo $PATH
to check.local/bin
is included in the execution the path by the Operating System command line shell
Run nvim
(or setup a Neovim configuration first, e.g. AstroNvim)
From the Neovim GitHub release page:
- Install
libintl
andgettext
(e.g. viabrew install libintl gettext
) - Download nvim-macos.tar.gz
- Run
xattr -c ./nvim-macos.tar.gz
(to avoid "unknown developer" warning) - Make local apps directory for neovim (and other things like node.js, etc.)
- Extract the neovim download
- Create nvim symbolic link in
~/.local/bin
to include Neovim on the OS execution path (check.local/bin
is added to the execution the path by the Operating System command line shell)
Linux version only packaged as AppImage from Neovim 0.9 onward
A .deb
file can be created after building Neovim from source.
Neovim Build Prerequisites for each operating system
Debian Packages
Install packages to support building Neovim
Clone the Neovim GitHub repository
Change into the cloned directory and change to the stable
release to build version 0.9.0
Build a release
Once the nvim release has been built, create a debian package for use with Ubuntu and Debian systems
Practicalli Astro Configλ︎
Practicalli Astro is Clojure development focused configuration, an extension of the AstroNvim template repository.
Clone the Practicalli Astro config or create your own fork and clone that repository.
Multiple Neovim Configurations
Clone the configuration to a unique name within ~/.config
directory.
Set the NVIM_APPNAME
environment variable to the configuration directory name under ~/.config
e.g. Run Neovim using the configuration in ~/.config/astro
Configure shell alias and selectors to simplify the command to run a specific configuration.
Practicalli Astro design & override guide
Install Neovim Pluginsλ︎
Enter nvim
command in a terminal to launch Neovim and install all the plugins from the Practicalli Astro configuration.
Lazy plugin manager runs automatically and installs all the plugins defined in the Neovim configuration.
Treesitter will prompt to compile its language parsers.
q to close the lazy package manager pop-up once all plugins are installed.
Plugin install without UI display
Use the --headless
Neovim flag to install plugins without running whole Neovim editor user interface.
Post Install checksλ︎
Troubleshoot the Neovim configuration and supporting tools by running the Neovim Heath Check.
Use the :checkhealth
command in Neovim or start Neovim with the Health Check command.
A report is generated and shown in Neovim
j / j to scroll through the checkhealth report
Review the warnings and install tooling that is required for languages that will be used.
Ignore Provider Warnings
It is safe to ignore language provider warnings.
Language Providers can be disabled in the Neovim configuration to remove the warnings from :checkhealth
report.