NORMAL ~/wkd/p/pickers :set skin=modern utf-8

pickers.nvim

One :Pickers command over telescope.nvim, fzf-lua and snacks.nvim. Seven separate picker modules consolidated into one grammar — :Pickers <scope> <action> — with the engine auto-detected and every scope, action and native picker completing with <Tab>.

status
beta — Beta stage — active development. This repository is past its first shape and in active use, but the surface is not frozen: breaking changes are still possible. Pin a commit or tag if you depend on it.
category
Files & navigation
neovim
0.10+
repo
github.com/StefanBartl/pickers.nvim
commits
228
help
:help pickers

demo

recorded with VHS from demos/pickers.tape in a clean Neovim — re-recorded weekly
what is shown when
  1. :Pickers cwd files - files under the working directory
  2. :Pickers cwd grep - live grep, same scope, same command

install

{
  "StefanBartl/pickers.nvim",
  opts = {},
}

docs/

git log

  1. fix tabs: arm_tag tags every matching buffer, smart carries its query, native fallback follows the physical lhs, git group default fixed
  2. fix snacks: forward the tab-switch query (pattern for files, search for live pickers)
  3. fix tabs: builtin targets run via pickers.builtins; only tab-opened pickers switch, <Tab> keeps multi-select elsewhere
  4. fix tabs: tab_next/tab_prev no longer close a picker outside a tab group; <Tab>/<S-Tab> keep native multi-select
  5. fix entry_actions: directory links keep a title, feedback text fits the command line, insert goes to the current editing window
  6. feat entry_actions: copy/open/reveal/insert report what they did, also in :messages
  7. feat entry_actions: insert Markdown links into the window behind the picker
  8. fix keys,entry_actions: review pass -- key collisions, existence check, special buffers
  9. feat keys: path/system keys that work in the prompt, grouped cheatsheet + legend
  10. fix cheatsheet: call on_close even when the fallback panel fails to open
  11. refactor cheatsheet: fall back to lib.nvim.output.viewer, not vim.notify
  12. refactor engines: one setup() per engine via the engine patcher; when_loaded no longer loads engines without lazy.nvim

keys

j / k
next / previous line
gg / G
first / last line
⏎
open the line under the cursor
/
search the plugins
:
command line — Tab completes
:help x
vimdoc of a plugin (:e x = plugin page)
:ls · :log · :stack
plugin list · activity stream · dependency graph
:colo x
colorscheme
:set skin=
modern | tui
?
this help
esc
close