Skip to content

[audit] vim-sneak loaded with factory defaults — s/S override undocumented, label mode disabled #100

Description

@stanfish06

What

vim-sneak (justinmk/vim-sneak) is installed and auto-loaded but has zero configuration anywhere in the config. The plugin silently overrides the default s and S normal-mode keys.

Where

  • Plugin declared: lua/config/plugins.lua:8 — { name = "sneaks.vim", src = "https://github.com/justinmk/vim-sneak" }
  • No config block exists in lua/config/plugin_config.lua for sneak at all.

Why it matters

Default Vim s = delete character and enter insert mode. With vim-sneak loaded, s{char}{char} becomes a 2-character forward seek motion. Anyone unfamiliar with the install will be confused when s doesn't behave as expected.

More importantly, vim-sneak's most useful feature — label mode (vim.g['sneak#label'] = 1) which shows jump targets like a poor-man's flash.nvim — is off by default. Without it, the plugin provides minimal value over built-in f/t.

Recommended action

Either:

Option A — configure it intentionally:

-- lua/config/plugin_config.lua
vim.g['sneak#label'] = 1          -- enable label mode (EasyMotion-style)
vim.g['sneak#use_ic_scs'] = 1     -- respect smartcase

Option B — remove it in favour of flash.nvim (already suggested in #31 as part of the snacks/navigation discussion), which is actively maintained and has a richer label mode.

Either way, add a comment near the plugin declaration explaining that s/S are intentionally remapped, so future readers (or AI agents doing audits) know this is deliberate.

Activity

  1. stanfish06 commented on May 27, 2026

    @stanfish06
    OwnerAuthor

    patch option A @claude

  2. claude commented on May 27, 2026

    @claude

    Claude finished @stanfish06's task in 1m 1s —— View job • claude/issue-100-20260527-2025 • Create PR ➔


    Implementing Option A: Configure vim-sneak

    • Read CLAUDE.md for repo guidelines
    • Read relevant config files
    • Add sneak configuration to lua/config/plugin_config.lua
    • Add comment near plugin declaration in lua/config/plugins.lua
    • Commit and push changes

    Changes made

    lua/config/plugin_config.lua — added configuration in the existing sneak section (line 41):

    -- sneaks — intentionally remaps s/S to 2-char forward/backward seek motion
    vim.g["sneak#label"] = 1       -- label mode: shows jump targets (EasyMotion-style)
    vim.g["sneak#use_ic_scs"] = 1  -- respect smartcase

    lua/config/plugins.lua — added inline comment on the plugin declaration (line 8):

    { name = "sneaks.vim", src = "https://github.com/justinmk/vim-sneak" }, -- remaps s/S intentionally; configured in plugin_config.lua

    |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions