Skip to content

Flash Extra

editor.flash installs flash.nvim for label-based jump motions and Treesitter node selection.

This extra deliberately shadows native s and S. That is an explicit, opt-in trade and every mapping is visible in :BlakKeys — it is never enabled by default. Flash’s char mode, which would silently overlay f/t/F/T with jump labels, is disabled so the only behavior this extra changes is the mappings listed below. Nothing happens behind your back.

Enable it

-- ~/.config/blak/lua/blak/user.lua
return {
extras = {
enabled = {
"editor.flash",
},
},
}

Because this extra adds a plugin, run:

:BlakExtras sync

What it adds

SurfaceContribution
Pluginfolke/flash.nvim
Keymaps Flash jump (normal, visual, operator)
KeymapS Flash Treesitter select (normal, visual, operator)
Keymapr Flash remote (operator-pending)
KeymapR Flash Treesitter search (operator, visual)
Keymap<C-s> toggle Flash while searching (command-line)

What gets shadowed

  • s (substitute character) and S (substitute line) in normal and visual mode become Flash motions. Use cl and cc for the native substitutes.
  • r and R are remapped only in operator-pending/visual contexts, so normal-mode replace (r<char>) and Replace mode (R) are untouched.
  • f, t, F, T stay native — Flash’s char mode is disabled by default.
  • <C-s> is mapped only in command-line mode, so it does not clash with Blak’s core <C-s> save mapping. It opts Flash labels into the current / search.

Configure it

Flash options pass through the plugin spec. To opt back into the f/t/F/T labels, re-enable char mode in plugins.specs:

return {
extras = { enabled = { "editor.flash" } },
plugins = {
specs = {
{ "folke/flash.nvim", opts = { modes = { char = { enabled = true } } } },
},
},
}

See the flash.nvim docs for the full option set.

Disable it

Remove "editor.flash" from extras.enabled or run :BlakExtras disable editor.flash, then restart Blak to restore native s/S, and run :BlakExtras sync to remove the plugin spec.