justinmk/vim-sneak

The missing motion for Vim :athletic_shoe:

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Type:Plugin / ExtensionCategory(s):Editors & IDEsDeveloper Tools
Added to GitGenius on September 19th, 2026
Created on September 21st, 2013
Open Issues & Pull Requests: 14 (+0)
GitHub issues: Enabled
Number of forks: 90
Total Stargazers: 3,532 (+0)
Total Subscribers: 21 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 2,766 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (7)
  • bug (6)
  • question (1)

Most active issues this week

Detailed Description

vim-sneak is a motion plugin for Vim that enables jumping to any location by typing two characters.

The plugin addresses the friction of navigating to distant positions in a file. Rather than using search with `/` or moving character-by-character, Sneak lets you type `s` followed by exactly two characters to jump immediately to the next match. The approach is minimal: it integrates with Vim's existing motion system, supporting operators, the repeat command `.`, motion-repeat with `;` and `,`, visual mode, and macros. Matches are highlighted until you move the cursor, and you can navigate through multiple results or limit searches to a vertical scope using a count prefix.

Sneak suits developers who want faster navigation without the overhead of heavier motion plugins. The README names EasyMotion as an alternative and positions Sneak's label-mode as a minimalist counterpart. The tool works across multiple lines and handles multibyte text, making it practical for diverse codebases. It requires Vim 7.3 or newer, with label-mode needing Vim 7.4.792 or later; Neovim 0.5 and above use virtual text for label rendering instead of the legacy conceal feature. The dot-repeat feature for operations requires the separate repeat.vim plugin.

Development activity shows consistent engagement with the codebase through regular commits addressing edge cases and user-reported issues. The maintainer actively responds to issues and pull requests, indicating ongoing stewardship. Documentation is thorough, with detailed help text covering usage patterns and configuration options. The project maintains compatibility across Vim versions and Neovim, updating implementations as the Neovim API evolves.