web-dev-qa-db-fra.com

Déplacez le curseur au début des caractères non-blouses dans une ligne dans Vim

Dans Vim, existe-t-il un moyen de déplacer le curseur au début des caractères non-blouses dans une ligne? Par exemple, comment puis-je déplacer le curseur sur le "S" dans la deuxième ligne ci-dessous?

Première ligne 
 Deuxième ligne

Si cela importe, j'utilise principalement Macvim, mais j'aimerais aussi pouvoir faire cela à partir de la console.

Merci!

51
Joe Mornin

Au lieu d'appuyer sur ^ Vous pouvez appuyer sur _ (Un soulignement) Pour passer au premier caractère non-blancs sur la même ligne, le curseur est allumé.

+ et - Allez à la première personnage non blancheur de la ligne suivante/précédente.

(Ces commandes fonctionnent uniquement en mode de commande, non en mode insertion.)

48
Ben

En développant la réponse d'Andrew Sohn, si vous souhaitez utiliser 0 pour ce comportement, envoyez-le comme suit:

function! LineHome()
  let x = col('.')
  execute "normal ^"
  if x == col('.')
    unmap 0
    execute "normal 0"
    map 0 :call LineHome()<CR>:echo<CR>
  endif
  return ""
endfunction 
0
user2448373