Pulse
└ Open Source
Pulse is a command palette for Neovim that unifies file search, symbols, diagnostics, git status, live grep, and fuzzy search behind one consistent interface.
I designed and implemented pulse.nvim end-to-end, including interaction model, mode system, key workflows, preview behavior, and documentation for installation and usage.
- Neovim
- Lua
- Terminal
- Command Palette
- Productivity
- UX
Project Overview
Pulse was built to reduce context switching in Neovim. Instead of remembering multiple commands and keymaps for different pickers, Pulse provides one entry point with predictable keyboard-driven behavior.
It acts like a single command center for common navigation and search tasks:
- Files
- Commands
- Git status
- Diagnostics
- Buffer symbols
- Workspace symbols
- Live grep
- Fuzzy search in current buffer




Interaction Model
The core design is a prefix-based mode switch. A single panel changes behavior based on the first character typed, which keeps the interface compact while still supporting multiple workflows.
Examples:
:for command execution~for git status!for diagnostics@for buffer symbols#for workspace symbols$for live grep?for fuzzy search- no prefix for file search
This approach keeps the mental model simple: open once, switch mode with a prefix, type a query, and jump.
UX and Workflow Focus
I optimized the plugin around fast navigation loops:
- Real-time filtering as you type
- Keyboard-only selection and execution
- Preview while browsing results
- Consistent behavior across every mode
The goal was not just feature parity with existing tools, but a cleaner and more predictable daily workflow for code navigation.
Technical Notes
Pulse is implemented in Lua and designed to work with standard Neovim setups.
It integrates with nvim-web-devicons, supports keymap-based invocation, and
is lightweight enough to stay responsive during frequent use.
{
"willyelm/pulse.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
keys = {
{ "<leader>p", "<cmd>Pulse<cr>", desc = "Open Pulse" },
},
}
Outcome
Pulse gives me one consistent command palette for navigation and search in Neovim, with less cognitive overhead and fewer mode-specific keymaps to manage. It is now the default way I jump through files, symbols, and code context.