Improve 'mini.jump2d' default config and jumping experience
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reading the mini.jump2d module and its current config, mappings, and jumper handling. The issue contains several separate proposals—default changes, backspace handling, and smart jumping—so first determine which scope has maintainer agreement; done would require implementing the selected behavior and covering its effects in the module's existing tests.
Written by the indexing model from the issue text.
Description
Contributing guidelines
- I have read CONTRIBUTING.md
- I have read CODE_OF_CONDUCT.md
Module(s)
mini.jump2d
Description
- Update default
config.viewto havedim = trueandn_steps_ahead = 2(or 1). These were not default because they were not present in the initial release and their values preserved the current at the time behavior. - Consider having default
config.labelsas'asdfghjkl;', i.e. 10 "home row" keys. After test driving them it indeed feels more natural and faster to type, but average label length of targets does go up (less labels -> longer sequences). - Consider handling
<BS>during sequence enter to undo previously typed label. - Add something like a "smart jump":
- May or may not have a separate
config.mappings.smart_jumpingentry. I currently very much likesj: it is in "home row" and works well with 'mini.surround'. It feels better than<CR>(because hands stay on the home row which makes further typing faster) and is almost feels the same as a singleskey (which doesn't work with 'mini.surround' and is a bit wasteful). - Requires pressing a single character after initiating. That character represents a "jumper identifier" in a concept similar to "textobject/surrounding identifier" from 'mini.ai' and 'mini.surround'. A single jumper is essentially a
start()table input or function returning it. This allows customizing everything for any jumper separately:view,labels,allowed_lines, etc. - A default jumper reused config values and sets
spotterto jump to a cell containing identifier, likebuiltin_opts.single_character. Should also respect 'ignorecase' and 'smartcase'. - Something like
<BS>can be used as "return to previous position", which is a more flexible (yet verbose) way of doing "remote operations": jump (likesj-<char>-<seq>) - do operation -sj<BS>. May require exportedMiniJump2d.jump_back(). - Maybe
.identifier can be used as "jump to any punctuation group". - Maybe
<Space>identifier can be used as "jump to any whitespace or line start". - Add
config.custom_jumpersto customize jumpers for this "smart jumping".
- May or may not have a separate
References: #1033, #1755
cc @pkazmier and @abeldekat about possible ideas/feedback here.
- Dominant language
- Lua
- Stars
- 9.6k
- Forks
- 314
- Avg merge
- 19h 10m
- Merged PRs (30d)
- 7
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nvim-mini/mini.nvim
-
feature-request mini.icons
Difficulty 1/5 Under an hour Newbie friendliness 82/100
-
'mini.nvim' and multicursorMay be free again @justinmk claimed this 31 days ago, and no pull request is open. OpenALL neovim-upstream
Difficulty 5/5 Over a week Newbie friendliness 28/100
-
mini.statuscolumn
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
feature-request mini.surround
Difficulty 3/5 1-2 days Newbie friendliness 52/100
-
new-module
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in nvim-mini/mini.nvim
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
jitsi/jitsi-meet#18020 ·
Maintainers usually reply within 1 day
-
GTK4 apps (Nautilus) aren't blurred: GTK 4.24's ext-background-effect makes Hyprland 0.56 skip blurOpen
Difficulty 1/5 Under an hour Newbie friendliness 94/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
windwp/nvim-ts-autotag#266 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
folke/sidekick.nvim#362 ·