Vim - interrompe a navegação das chaves após deixar marcas

1

Enrolado Ao usar a navegação de chaves, { , } , para mover entre o parágrafo, substitui a marca do "último salto" (aquela acessível por '' ). Eu acharia mais útil se deixasse essa marca intocada. Existe alguma maneira de configurar o vim assim?

    
por nijoakim 06.04.2017 / 14:55

1 resposta

2

Você pode usar o comando keepjumps . De :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.

Então, no seu caso, você gostaria de

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

Ou, se você quiser que ele funcione também no modo visual (o que você provavelmente faz):

xnoremap } :<C-u>keepjumps normal! gv}<cr>
xnoremap { :<C-u>keepjumps normal! gv{<cr>
    
por 06.04.2017 / 18:59

Tags