Skip to content

Install Neovim and Supporting Toolsλ︎

Neovim Logo

Neovim 0.11.x required

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.

  • ripgrep fast file contents search (used by telescope)
  • find-fd advanced search tool
  • xclip for X11 clipboard integration or wl-clipboard for Wayland
  • node.js and luarocks` for LSP servers
  • a C compiler for treesitter language parsers, e.g. gcc or clang
node.js install guide

AstroNvim uses Mason to install LSP servers, format and lint tools. Many of the LSP servers require node.

Node.js install - Practicalli Engineering Playbook

Install for X11 based desktop

apt install fd-find luarocks nodejs xclip

Install for Wayland based desktop

apt install fd-find luarocks nodejs wl-clipboard

MacOSX requires the libintl and gettext tools as well as the other supporting tools.

brew install libintl gettext ripgrep fd luarocks

Install Neovimλ︎

Install from Neovim GitHub releases for the latest version, use a Package manager if version 0.11 is available, or build from source.

Download the Linux AppImage from the Neovim Release page and place the file on the executable path, e.g. $HOME/.local/bin or /usr/local/bin/ for system wide use (e.g. root account).

Make the AppImage executable

chmod u+x $HOME/.local/bin/nvim.appimage

Create a symbolic link called nvim to the nvim.appimage file (or rename the file to nvim)

ln -s $HOME/.local/bin/nvim.appimage $HOME/.local/bin/nvim

nvim command can now be run in a terminal from any directory.

Install from Homebrew or via the Neovim Release page

brew install neovim

Download nvim-macos.tar.gz From the Neovim GitHub release page

Avoid "unknown developer" warning from MacOSX

xattr -c ./nvim-macos.tar.gz

Make a local apps directory for neovim (and other things like node.js, etc.)

mkdir -P ~/.local/apps

Extract the neovim archive

tar zvxf nvim-macos.tar.gz -C ~/.local/apps/

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

ln -s ~/.local/apps/nvim-macos/bin/nvim ~/.local/bin/nvim

Run nvim (or setup a Neovim configuration first, e.g. AstroNvim)

From the Neovim GitHub release page:

  1. Install libintland gettext (e.g. via brew install libintl gettext)
  2. Download nvim-macos.tar.gz
  3. Run xattr -c ./nvim-macos.tar.gz (to avoid "unknown developer" warning)
  4. Make local apps directory for neovim (and other things like node.js, etc.)
mkdir -P ~/.local/apps
  1. Extract the neovim download
tar zvxf nvim-macos.tar.gz -C ~/.local/apps/
  1. 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)
ln -s ~/.local/apps/nvim-macos/bin/nvim ~/.local/bin/nvim

Linux version only packaged as AppImage from Neovim 0.9 onward

A .deb file can be created after building Neovim from source.

Neovim build guide

Neovim Build Prerequisites for each operating system

Debian Packages

Install packages to support building Neovim

sudo apt-get install ninja-build gettext cmake unzip curl

Clone the Neovim GitHub repository

git clone --origin neovim https://github.com/neovim/neovim.git

Change into the cloned directory and change to the stable release to build version 0.9.0

git checkout stable

Build a release

make CMAKE_BUILD_TYPE=Release

Once the nvim release has been built, create a debian package for use with Ubuntu and Debian systems

cpack -G DEB

Add a configurationλ︎

Neovim is a powerful editor although a configuration adds valuable features for software engineering tasks.

Practicalli Astro 5 configuration