Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. nap.nvim

nap.nvim

MITLua

A lightweight Neovim plugin for quick navigation between buffers, tabs, files, diagnostics, and other items using single-key repeats.

GitHubGitHub
103 stars5 forks0 contributors

What is nap.nvim?

nap.nvim is a Neovim plugin that enables rapid navigation between various editor elements like buffers, tabs, files, diagnostics, and quickfix entries. It solves the problem of cumbersome multi-key navigation by allowing users to jump initially with a prefix key and then cycle with a single repeat key, streamlining movement within Neovim.

Target Audience

Neovim users, particularly developers and power users who frequently switch between buffers, tabs, or navigate diagnostics and quickfix lists, and seek to optimize their editing workflow with fewer keystrokes.

Value Proposition

Developers choose nap.nvim for its lightweight, navigation-focused design that reduces keystrokes compared to default Vim motions or plugins like unimpaired.vim, its extensibility via Lua, and seamless integration with popular Neovim plugins.

Overview

Quickly move between next and previous NeoVim buffer, tab, file, quickfix, diagnostic, etc.

Use Cases

Best For

  • Reducing keystrokes when cycling through open buffers or tabs
  • Quickly navigating diagnostic messages from LSP or linters
  • Efficiently moving through quickfix and location list results
  • Jumping between files in a project or recent edit history
  • Navigating folds, tags, or spell errors with consistent keybindings
  • Extending navigation support for plugins like Gitsigns or Aerial

Not Ideal For

  • Users who rely heavily on mouse-driven or GUI-based navigation workflows
  • Developers seeking all-in-one plugins that combine navigation with editing, window management, or other features
  • Teams with highly customized keybinding setups where adding new mappings could cause conflicts
  • Projects where navigation is infrequent or sufficiently handled by built-in Neovim commands or other minimalist plugins

Pros & Cons

Pros

Efficient Repeat Navigation

After an initial jump with a prefix key, cycling through items uses single repeat keys like <c-n>, cutting keystrokes significantly compared to standard two-key combinations.

Comprehensive Operator Coverage

Supports navigation across buffers, tabs, files, diagnostics, quickfix/location lists, and more with consistent ]/[ mappings, reducing the need to memorize disparate commands.

Easy Customization via Lua

Allows adding or overriding operators with a simple API, including helper functions for plugins like Gitsigns and Aerial, making it adaptable to various workflows.

Lightweight and Focused

Dedicated solely to navigation tasks without bloat from editing features, ensuring minimal performance overhead and a clean scope.

Cons

Keybinding Configuration Complexity

Choosing optimal prefix and repeat keys requires trial and error, and the README admits issues like timeout delays if prefix and repeat keys are identical.

Limited Feature Set

Focuses only on navigation, lacking editing or option-toggling commands found in similar plugins like unimpaired.vim, which might necessitate additional plugins.

Potential Integration Overhead

While extensible, integrating with external plugins like Gitsigns requires extra setup, and conflicts with other keymap-heavy plugins can arise.

Frequently Asked Questions

Quick Stats

Stars103
Forks5
Contributors0
Open Issues1
Last commit2 years ago
CreatedSince 2023

Tags

#workflow-optimization#buffer-management#lua-configurable#neovim-plugin#editor-productivity#neovim#keybindings#navigation

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 9 hours ago

Related Projects

leap.nvimleap.nvim

Neovim's answer to the mouse 🦘

Stars5,031
Forks53
Last commit17 hours ago
flash.nvimflash.nvim

Navigate your code with search labels, enhanced character motions and Treesitter integration

Stars4,230
Forks92
Last commit16 days ago
lightspeed.nvimlightspeed.nvim

deprecated in favor of leap.nvim

Stars1,553
Forks27
Last commit2 years ago
precognition.nvimprecognition.nvim

💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.

Stars1,386
Forks16
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub