Je regarde les commandes d'aide rapide de vim help pour déplacer le curseur. Les lignes suivantes me confondent parce que je trouve que les deux fonctionnent de la même façon. Quelqu'un pourrait-il m'expliquer la différence avec un exemple.
N w N words forward
N W N blank-separated WORDS forward
La même question est également vraie pour e et E.
C'est en fait assez simple,
w
saute simplement au mot suivant, mais toute sorte de ponctuation ou d'espaces décompose les mots.W
est comme la commande de mot suivant de puissance industrielle, les mots ne sont délimités que par des espaces, que ce soit des tabulations, des espaces ou des sauts de ligne.w
s'arrête également à la ponctuation délimitant, au cas où vous voudriez y faire face.Je trouve la différence utile le plus souvent avec les noms d'hôtes:
birdman.cartoons.fictional.com # Fictional host
Avec
w
, vous vous arrêtez sur chaque partie du nom d'hôte et des points.W
saute simplement le nom d'hôte entier et passe au#
. Ces deux s'appliquent également àd
etc
pour la suppression et la modification des mots.Si positionné au début de la ligne ci-dessus, si vous vouliez remplacer
birdman.cartoons
par quelque chose d'autre, vous utiliseriez3cw
pour remplacer les deux premières parties et le point au milieu. Vous ne pourriez pas le faireW
sans retaper le nom d'hôte entier.la source
C'est une différence qui est mieux comprise en considérant comment la ponctuation peut avoir un impact sur le concept de Vim de ce qui délimite un mot.
Dans le cas de cet exemple de texte:
wpassera volontiers à la première lettre de chaque mot de la première ligne, car il n'y a que de l'espace pour négocier. Il échouera gravement sur la ligne 2 avec la ponctuation, descendant sur les premières lettres de chaque mot et les virgules et tirets. Pour passer d'un mot à l'autre à la ligne 2, vous devez utiliser Shiftw1 .
1. Même alors, Vim voit "is – note-virgule" comme un seul mot.
la source
La différence peut être trouvée dans les pages d'aide internes du vim. Obtenons d'abord une description de w et W avec
:help
w ou:help W
:Maintenant, nous voulons savoir quelles sont les définitions du mot et du MOT. Recherchez à nouveau le manuel avec
:help word
et:help WORD
, nous les trouvons.a sequence of letters, digits and underscores
, oua sequence of other non-blank characters, separated with white space
(espaces, tabulations,). Cela peut être modifié avec l'option «iskeyword». Une ligne vide est également considérée comme un mot.a sequence of non-blank characters, separated with white space
. Une ligne vide est également considérée comme un MOT.la source