Réponses:
:call cursor(0, len(getline('.'))/2)
Taper le gm
ferait, mais il se déplace par des lignes d'écran (voir :help gm
). Afin de le faire fonctionner avec des lignes de texte, on peut remapper cette commande:
map gm :call cursor(0, virtcol('$')/2)<CR>
Voici une solution qui respectera également les hardtabs et les caractères multi-octets.
:exe 'normal '.(virtcol('$')/2).'|'
Voici la meilleure solution que j'ai trouvée. Sauter exactement au milieu de la ligne n'est pas très pratique. Vous devrez probablement encore déplacer le curseur de quelques positions après vous être déplacé vers le milieu. Et si vous pouviez passer à un personnage spécifique? Beaucoup de gens recherchent simplement le personnage, puis cliquent sur «Suivant» jusqu'à ce qu'ils l'atteignent. C'est lent. Le plugin Easy-motion offre une meilleure solution.
Mon préféré est <leader><leader>s
alors le personnage sur lequel vous voulez sauter. Easy Motion remplace toutes les correspondances par des lettres différentes parmi lesquelles vous pouvez choisir. Voir le tutoriel. C'est un plugin qui change la vie ...