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?


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
            Useful when making a change or inserting text
            automatically and the user doesn't want to go to this

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>
  • Hmm. Looks promising, but this gives the error "E169: Command to recursive" when I press { or }. – nijoakim Apr 11 '17 at 8:19
  • @nijoakim Did you do nmap or nnoremap? That shouldn't be an issue as long as you do nnoremap. – James Apr 11 '17 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 '17 at 7:15
  • @nijoakim Oh, I see what the issue is now. See my edit. Does that work for you? – James Apr 12 '17 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.