Lv.1
0 / 100 XP
🌱 0

Neovim for Beginners

🏆 Recent Achievement: Start your learning journey!
"Every expert was once a beginner!" 💪

🎯 Daily Quests

📊 Overall Study Progress

Progress: 0%

⚡ Installing Neovim

0%

Understand what Neovim is and get a working install on your system, then confirm everything is healthy before you write a single line of config.

  • What is Neovim: A hyperextensible, Vim-based text editor — fully Lua-scriptable, with a built-in LSP client and a modern plugin ecosystem. neovim.io — Official Site
    📝 Notes
  • Install via your package manager: brew install neovim (macOS), sudo apt install neovim (Debian/Ubuntu), winget install Neovim.Neovim (Windows), or grab a release binary. Official INSTALL.md (all platforms)
    📝 Notes
  • Launch & verify: Run nvim --version in your terminal, then open nvim. You should land on the start screen. Confirm you have v0.10+ for the latest features. Neovim Releases & Changelog
    📝 Notes
  • Run :checkhealth: Neovim's built-in diagnostics flag missing providers (Node, Python, clipboard) and misconfigurations. Fix anything marked ERROR before moving on. :checkhealth Documentation
    📝 Notes

⌨️ Modal Editing Basics

0%

The single biggest hurdle for newcomers: Neovim is modal. Learn the modes and core motions until they're muscle memory.

  • Do :Tutor end-to-end: Neovim ships an interactive 30-minute tutorial. Run :Tutor inside nvim — this is the fastest way to internalize movement and editing. Neovim User Manual (Table of Contents)
    📝 Notes
  • The core modes: Normal (navigate/operate), Insert (i/a to type), Visual (v to select), and Command-line (:). Esc always returns to Normal. Vim Modes Reference
    📝 Notes
  • Motions & operators: Learn h j k l, w b e, 0 $, gg G, and the verb+noun grammar (delete, change, yank + a motion, e.g. diw). Neovim Quick Reference (motions)
    📝 Notes
  • 🎥 Vim as a language: Watch how motions + operators compose so you stop memorizing shortcuts and start "speaking" edits. 🎥 Mastering the Vim Language (Chris Toomey) Conference talk • ~30 min • the mental model that makes Vim click
    📝 Notes

🛠️ Configuring with init.lua

0%

Make Neovim yours. Create a Lua config, set sensible options, and bind your own keymaps around a leader key.

  • Create your config directory: Neovim reads ~/.config/nvim/init.lua (or %LOCALAPPDATA%\nvim\init.lua on Windows). Start with a single file, split later. Official Lua Guide (:help lua-guide)
    📝 Notes
  • Set core options: Use vim.opt for essentials like number, relativenumber, expandtab, shiftwidth, ignorecase, and termguicolors. Options Reference (:help options)
    📝 Notes
  • Leader key & keymaps: Set vim.g.mapleader = " " (space), then create mappings with vim.keymap.set(). The leader namespaces your personal shortcuts. Key Mapping Reference (:help map)
    📝 Notes
  • Grow into a modular layout: As your config expands, move code into lua/ modules loaded with require(). Keep options, keymaps, and plugins in separate files. kickstart.nvim — documented single-file starting point
    📝 Notes

🧩 Plugins & Managers

0%

Plugins turn Neovim into an IDE. Learn the modern plugin manager and decide between rolling your own or adopting a starter/distro.

  • lazy.nvim — the plugin manager: The de-facto standard. Declare plugins as Lua specs; it lazy-loads them on events, commands, or filetypes for fast startup. folke/lazy.nvim
    📝 Notes
  • Path A — kickstart.nvim: A small, single-file, heavily-commented config you own and modify. Best if you want to learn how everything fits together. nvim-lua/kickstart.nvim
    📝 Notes
  • Path B — LazyVim distro: A full, opinionated setup that works on first launch (LSP, treesitter, formatters, keymaps pre-wired). Best if you want an IDE now and to tweak later. LazyVim — Official Docs
    📝 Notes
  • Discover quality plugins: Browse curated lists and the awesome-neovim catalog to find well-maintained plugins instead of installing everything at once. awesome-neovim — curated plugin list
    📝 Notes

🧠 LSP, Completion & Treesitter

0%

This is what makes Neovim a real IDE: language servers for diagnostics and go-to-definition, autocompletion, and accurate syntax via Treesitter.

  • Built-in LSP client: Neovim speaks the Language Server Protocol natively. Wire up servers for diagnostics, hover, rename, and go-to-definition via nvim-lspconfig. neovim/nvim-lspconfig
    📝 Notes
  • Install servers with Mason: mason.nvim is a one-stop installer for language servers, linters, and formatters — manage them with :Mason. williamboman/mason.nvim
    📝 Notes
  • Autocompletion: Add a completion engine like nvim-cmp (or blink.cmp) wired to your LSP sources for inline suggestions and snippets. hrsh7th/nvim-cmp
    📝 Notes
  • Treesitter syntax: nvim-treesitter gives fast, accurate, AST-based highlighting and indentation. Install language parsers with :TSInstall. nvim-treesitter/nvim-treesitter
    📝 Notes

🚀 Everyday Workflow

0%

Tie it together into a daily driver: fuzzy-find files, manage buffers and splits, navigate the filesystem, and build lasting habits.

  • Fuzzy-find with Telescope: Jump to any file, grep your project live, and search buffers/help with telescope.nvim — the most-used navigation plugin. nvim-telescope/telescope.nvim
    📝 Notes
  • Buffers, windows & tabs: Understand the model — buffers are open files, windows are viewports (splits via :split/:vsplit), tabs are layouts. Navigate splits with Ctrl-w. Windows & Buffers (:help windows)
    📝 Notes
  • File navigation: Use the built-in netrw or a tree plugin (neo-tree / nvim-tree / oil.nvim) to browse and edit your project's file system. nvim-neo-tree/neo-tree.nvim
    📝 Notes
  • 🎥 Build an IDE from scratch: Watch TJ DeVries (a Neovim core maintainer) build a working setup on top of kickstart.nvim, explaining each choice. 🎥 Effective Neovim: Instant IDE (TJ DeVries) Walkthrough • ~30 min • from the kickstart.nvim author
    📝 Notes
+0 XP
🏆
Achievement Unlocked!
First Steps
LEVEL UP!
Level 2
🐧
🐧
🤖
🐱
🐉
🦉
🦊
Ready to learn? Let's go! 🚀