A Neovim plugin that enhances w, e, b motions with subword navigation and smart punctuation skipping.
nvim-spider is a Neovim plugin that enhances the standard `w`, `e`, `b`, and `ge` navigation motions. It introduces subword-aware movement that recognizes camelCase, SNAKE_CASE, and kebab-case segments, and intelligently skips over insignificant punctuation characters to reduce unnecessary stops during code navigation.
Neovim users who frequently edit code with mixed-case identifiers and want more efficient, semantic-aware navigation motions than Vim's defaults provide.
Developers choose nvim-spider because it dramatically reduces keystrokes when moving through code by understanding programming language conventions, while maintaining full compatibility with Vim's motion ecosystem and offering extensive customization options.
Use the w, e, b motions like a spider. Move by subwords and skip insignificant punctuation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Moves by segments within camelCase, SNAKE_CASE, and kebab-case identifiers, significantly reducing keystrokes when editing code with common naming conventions, as demonstrated in the README's examples.
Skips insignificant punctuation like `:` and `.` in method chains while stopping at significant ones like `==`, cutting unnecessary stops by up to 33% in the provided code snippet.
Allows defining custom Lua patterns for specialized navigation, such as stopping at JavaScript variable declarations, offering flexibility beyond default behavior.
Optional setting fixes Vim's inconsistent motion behavior in operator-pending mode, ensuring predictable editing actions like consistent charwise deletions.
Full support for special characters requires installing the luautf8 rock, adding setup complexity, and CJK characters still have unresolved issues per the README.
Does not include a subword variant of the `iw` text object, forcing users to rely on additional plugins like nvim-various-textobjs for complete subword editing.
Dot-repeat functionality only works when motions are called as Ex-commands, not with direct Lua function calls, which can complicate key mapping setups and limit flexibility.