Я смотрю на команды vim help quickref для перемещения курсора. Следующие строки сбивают меня с толку, потому что я считаю, что они работают одинаково. Может кто-нибудь прояснить мне разницу с примером.
N w N words forward
N W N blank-separated WORDS forward
Тот же вопрос верен и для е, и для е.
Это на самом деле довольно просто,
w
просто переходит к следующему слову, но любые знаки препинания или пробелы разбивают слова.W
Подобно команде следующего слова промышленного уровня, слова ограничиваются только пробелами, будь то табуляция, пробел или перевод строки.w
останавливается также на пунктуации с разделителями, если вы хотите с этим справиться.Я нахожу разницу полезной чаще всего с именами хостов:
birdman.cartoons.fictional.com # Fictional host
С помощью
w
вы останавливаетесь на каждой части имени хоста и точек.W
просто пропускает все имя хоста и переходит на#
. Это также относитсяd
иc
к удалению и изменению слов.Если вы располагаете в начале вышеуказанной строки, если вы хотите заменить
birdman.cartoons
что-то еще, вы должны3cw
заменить обе первые две части и точку посередине. Вы не можете сделать этоW
без повторного ввода полного имени хоста.источник
Эту разницу лучше всего понять, если учесть, как пунктуация может влиять на концепцию Vim о том, что ограничивает слово.
В случае этого примера текста:
wс радостью перейдем к первой букве каждого слова в первой строке, так как есть только место для переговоров. Он потерпит неудачу плохо на линии 2 с пунктуацией, опускаясь на первых букв каждого слова и запятые и отдельными штрихами. Для перехода от слова к слову в строке 2 вам нужно будет использовать Shiftw1 .
1. Даже в этом случае Vim видит слово «is – note – comma» как одно слово.
источник
Разницу можно найти на внутренних страницах справки vim. Давайте сначала получим описание w и W с помощью
:help
w или:help W
:Теперь мы хотим знать, каковы определения слова и слова. Снова найдите руководство с помощью
:help word
и:help WORD
мы их найдем.a sequence of letters, digits and underscores
, илиa sequence of other non-blank characters, separated with white space
(пробелы, табуляции,). Это можно изменить с помощью опции «iskeyword». Пустая строка также считается словом.a sequence of non-blank characters, separated with white space
. Пустая строка также считается словом.источник