vim: Better jump list support (#33495)
Closes #23527 Closes #30183 Closes some Discord chats Release Notes: - vim: Motions now push to the jump list using the same logic as vim (i.e. `G`/`g g`/`g d` always do, but `j`/`k` always don't). Most non-vim actions (including clicking with the mouse) continue to push to the jump list only when they move the cursor by 10 or more lines.
This commit is contained in:
parent
ba1c05abf2
commit
20a3e613b8
5 changed files with 147 additions and 19 deletions
14
crates/vim/test_data/test_jump_list.json
Normal file
14
crates/vim/test_data/test_jump_list.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{"Put":{"state":"ˇfn a() { }\n\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { }"}}
|
||||
{"Key":"3"}
|
||||
{"Key":"}"}
|
||||
{"Get":{"state":"fn a() { }\n\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { ˇ}","mode":"Normal"}}
|
||||
{"Key":"ctrl-o"}
|
||||
{"Get":{"state":"ˇfn a() { }\n\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { }","mode":"Normal"}}
|
||||
{"Key":"ctrl-i"}
|
||||
{"Get":{"state":"fn a() { }\n\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { ˇ}","mode":"Normal"}}
|
||||
{"Key":"1"}
|
||||
{"Key":"1"}
|
||||
{"Key":"k"}
|
||||
{"Get":{"state":"fn a() { }\nˇ\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { }","mode":"Normal"}}
|
||||
{"Key":"ctrl-o"}
|
||||
{"Get":{"state":"ˇfn a() { }\n\n\n\n\n\nfn b() { }\n\n\n\n\n\nfn b() { }","mode":"Normal"}}
|
Loading…
Add table
Add a link
Reference in a new issue