1

Curly When using curly braces navigation, {, }, to move between paragraph, overwrites the "last jump" mark (the one accessible via ''). I would find it more useful if it left this mark untouched. Is there any way to configure vim like this?

1 Answer 1

2

You can use the keepjumps command. From :h :keepjumps:

                            *:keepj* *:keepjumps*
:keepj[umps] {command}
            Moving around in {command} does not change the |''|,
            |'.| and |'^| marks, the |jumplist| or the
            |changelist|.
            Useful when making a change or inserting text
            automatically and the user doesn't want to go to this
            position.

So in your case, you'd want

nnoremap } :keepjumps normal! }<cr>
nnoremap { :keepjumps normal! {<cr>

Or, if you want it to work for visual mode too (which your probably do):

xnoremap } :<C-u>keepjumps normal! gv}<cr>
xnoremap { :<C-u>keepjumps normal! gv{<cr>
4
  • Hmm. Looks promising, but this gives the error "E169: Command to recursive" when I press { or }.
    – nijoakim
    Apr 11, 2017 at 8:19
  • @nijoakim Did you do nmap or nnoremap? That shouldn't be an issue as long as you do nnoremap.
    – DJMcMayhem
    Apr 11, 2017 at 14:06
  • @DJMacMayhem: I tried them both. I also copied the text exactly as you wrote it. Can you confirm it works for you?
    – nijoakim
    Apr 12, 2017 at 7:15
  • @nijoakim Oh, I see what the issue is now. See my edit. Does that work for you?
    – DJMcMayhem
    Apr 12, 2017 at 7:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.