How to Install Neovim and Set Up LazyVim on Linux: A Complete 2026 Tutorial

So you’ve heard the buzz about Neovim. Maybe you’ve seen a colleague fly through code at lightning speed, or you’re tired of bloated editors that eat half your RAM. Whatever brought you here, welcome! Today I’m going to walk you through installing Neovim from the official release and turning it into a modern, fully-featured IDE using LazyVim — all on a Linux machine.

I’ll be honest: the first time I set up Neovim, I was overwhelmed. Plugin managers, Lua configs, treesitter, LSPs… it felt like a rabbit hole. Then I discovered LazyVim, a pre-configured setup that gives you a gorgeous, snappy editor without spending a weekend tweaking config files. This guide covers exactly that, using a clean, manual Neovim installation (no outdated apt packages!) and the official LazyVim starter. Let’s jump in.


A Little Background: What Are We Installing?

Neovim is a modern reimagining of Vim. It’s hyper-extensible, supports Lua scripting, and has a thriving plugin ecosystem. The version in your distro’s package manager is often ancient. That’s why we’ll grab the latest release directly from GitHub — you’ll get all the newest features and performance improvements.

LazyVim is a Neovim configuration distribution curated by the community. Think of it as a rock-solid starting point: it pre-configures everything from fuzzy finding (Telescope) to syntax highlighting (Tree-sitter), code completion, a file explorer, and a gorgeous dashboard. And it uses lazy.nvim as its plugin manager, which loads plugins lazily — making startup lightning fast.

We’ll finish by detaching the starter’s Git repository, so the config becomes yours to version and customize.


Prerequisites

  • A Linux distribution (the commands are tailored for Ubuntu/Debian, but easily adaptable)

  • A terminal and basic comfort with the command line

  • An internet connection


Step 1: Download the Latest Neovim Release

Head over to the Neovim GitHub releases page and find the latest stable .tar.gz for Linux x86_64. As I write this, it’s v0.12.2, but you can always grab the newest one. We’ll use wget to pull it straight into our home directory:

bash
cd ~
wget https://github.com/neovim/neovim/releases/download/v0.12.2/nvim-linux-x86_64.tar.gz

Tip: If you prefer, use curl -LO instead of wget. Just make sure the file downloads completely.

Why not use apt install neovim? Because the repo version might be several releases behind, and LazyVim expects fairly recent Neovim features. Trust me, the manual approach saves headaches later.


Step 2: Extract the Archive

The tarball contains a single folder with everything Neovim needs — binaries, runtime files, man pages. Let’s unpack it:

bash
tar -xf nvim-linux-x86_64.tar.gz

You’ll now have a directory named something like nvim-linux-x86_64 sitting in your home folder. The extraction is quick, and no compilation is required — these are pre-built binaries.


Step 3: Move the Neovim Folder to a Permanent Home

Technically you can leave it in ~, but I prefer to keep things tidy. We’ll move the whole folder into the home directory (it’s already there, but if you ran wget from a different location, adjust accordingly). The important part is that the path will be easy to reference later.

bash
# It's already in ~; if not, move it:
mv nvim-linux-x86_64 ~/

Now the full path to the Neovim binary is /home/yourusername/nvim-linux-x86_64/bin/nvim. (Replace yourusername with your actual username.)


Step 4: Create a Symbolic Link so You Can Just Type ‘nvim’

We want to launch Neovim from anywhere by simply typing nvim. The cleanest method is to symlink the binary into a directory that’s already in your system’s PATH, like /usr/local/bin. This way you don’t have to mangle your .bashrc or .profile.

bash
sudo ln -s ~/nvim-linux-x86_64/bin/nvim /usr/local/bin/nvim

You’ll need sudo because /usr/local/bin is owned by root. After this, close and reopen your terminal, or run hash -r to refresh the command cache. Now test it:

bash
nvim --version

You should see the freshly installed version printed. Congratulations — you’ve got a cutting-edge Neovim ready to roll!


Step 5: Install Essential Build Tools

LazyVim relies on some system packages to compile plugins (like Tree-sitter parsers) and to fetch external dependencies. Let’s install git, build-essential (which gives us gcc, make, etc.), and curl:

bash
sudo apt update
sudo apt install git build-essential curl -y
  • git – needed to clone the LazyVim starter and, later, for plugin management.

  • build-essential – provides a C compiler and related tools that many Neovim plugins require to build their native components (e.g., Treesitter).

  • curl – used by some LazyVim integrations (and it’s handy to have anyway).

If you’re on Fedora, the equivalent would be sudo dnf groupinstall "Development Tools" and sudo dnf install git curl. Arch users: sudo pacman -S base-devel git curl.


Step 6: Clone the LazyVim Starter into Your Config Directory

Neovim looks for user configuration in ~/.config/nvim. If that directory already exists (maybe from a previous attempt), back it up or remove it. We’ll clone the official LazyVim starter repository, which contains a minimal but powerful Lua configuration:

bash
git clone https://github.com/LazyVim/starter ~/.config/nvim

This gives you a fully working LazyVim setup, including the dashboard, status line, syntax highlighting, and dozens of sensible default settings. Don’t worry — it’s not bloated. The philosophy is “everything you need, nothing you don’t.”


Step 7: Detach from the Original Git Repository

Right now, your ~/.config/nvim is a clone of the LazyVim starter repo. That’s fine if you never plan to version your own configuration, but I strongly recommend you turn it into your own repository. To do that, simply delete the .git folder that ties it to the upstream:

bash
rm -rf ~/.config/nvim/.git

Now the directory is a plain set of files. You can later run git init and commit your customizations, pushing them to your own remote. This step is optional if you only want a one-off setup, but it’s a best practice that’ll save you tears when you accidentally break something and need to roll back.


Step 8: Launch Neovim and Let the Magic Happen

Moment of truth! Open your terminal and type:

bash
nvim

The first launch will take a few seconds longer than usual. LazyVim’s package manager (lazy.nvim) will automatically download and install all the plugins defined in the starter config. You’ll see a progress screen with dots and status messages — that’s completely normal.

Once done, you’ll be greeted by the beautiful LazyVim dashboard, showing recent files, project shortcuts, and handy keybinds. The editor is ready to use immediately: syntax highlighting works out of the box, fuzzy file finding (<leader>ff) is buttery smooth, and LSP support is just a :Mason away (more on that in a moment).


First Steps After Installation

  • Explore the dashboard: Use the arrow keys to move around and hit <Enter> to open a recently closed file or start a new one.

  • Learn the leader key: LazyVim uses <Space> as the leader key. Type <Space> and wait a moment to see a popup of all available keymaps. It’s a fantastic way to discover features.

  • Install language servers: LazyVim integrates with mason.nvim. Press <Space>cm (or type :Mason) to open a UI where you can install servers for Python, JavaScript, Rust, and many more. No manual configuration needed.

  • Customize to your heart’s content: The starter config is meant to be tweaked. Open :e ~/.config/nvim/init.lua and start adding your own plugins or overriding settings. The LazyVim documentation is excellent if you need guidance.


Troubleshooting Common Hiccups

  • “nvim: command not found” after symlinking: Ensure /usr/local/bin is in your PATH (it usually is). Run echo $PATH to check. If missing, add export PATH="/usr/local/bin:$PATH" to your ~/.bashrc and source it.

  • Plugin compilation errors: Most of these happen because build-essential wasn’t installed. Double-check that gcc is available (gcc --version). For Tree-sitter, you might also need a C++ compiler, which build-essential includes on Debian-based systems.

  • First launch takes forever or fails: Sometimes a network hiccup interrupts plugin downloads. Just quit Neovim (:q) and restart; lazy.nvim is resilient and will retry missing packages.


Why This Setup Rocks

You’ve just turned a bare terminal into a coding powerhouse in under ten minutes. By using the latest Neovim binaries, you avoid version-related bugs. LazyVim gives you a state-of-the-art experience that rivals heavy IDEs, yet it stays snappy and keyboard-driven. And because you detached from the starter’s git history, the config is truly yours — ready to evolve with you.

I still remember the day I ditched my tangled, hand‑written config for LazyVim. It felt like a weight lifted. I could focus on writing code instead of maintaining my editor. I hope this guide helps you feel the same.

If you run into any snags or have a cool customization to share, drop a comment below. Happy editing!

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
Scroll to Top