Vim: слово против WORD
Я изучаю Vim и не могу обернуть голову вокруг разницы между word
и word
.
Я получил следующее из руководства Vim.
Слово состоит из последовательности букв, цифр и символов подчеркивания или последовательность других непустых символов, разделенных пробелом (пробелы, вкладки). Это можно изменить с помощью 'iskeyword' вариант. Пустая строка также считается словом.
A WORD состоит из последовательности непустых символов, разделенных пустое пространство. Пустая строка также считается WORD.
Я чувствую, что word
и word
- это одно и то же. Они представляют собой последовательность непустых символов, разделенных пробелами. Пустую строку можно рассматривать как word
и word
.
Вопрос:
Какая разница между ними?
И почему/когда кто-то использовал word
над word
?
Я уже выполнил поиск Google и SO, но их поисковый движок интерпретирует word
как только word
, так что я ищу Vim word vs word
и, конечно, не найду ничего полезного.
Ответы
Ответ 1
- Слово WORD всегда ограничено пробелами.
- Слово разделяется символами без ключевого слова, которые настраиваются. Пробельные символы не являются ключевыми словами, и обычно другие символы (например,
()[],-
) тоже не являются. Поэтому слово обычно меньше, чем СЛОВО; слово-навигация более мелкозернистая.
Пример
This "stuff" is not-so difficult!
wwww wwwww ww www ww wwwwwwwww " (key)words, delimiters are non-keywords: "-! and whitespace
WWWW WWWWWWW WW WWWWWW WWWWWWWWWW " WORDS, delimiters are whitespace only
Ответ 2
Если я делаю viw
( "select inner word
" ), в то время как мой курсор находится на app
в следующей строке, он выбирает app
:
app/views/layouts/admin.blade.php
Если я делаю viw
(word
), в то время как мой курсор находится в одном месте, он выбирает всю последовательность символов. A word
содержит символы, которые words
, которые похожи на английские слова, не такие, как звездочки, слэши, круглые скобки, скобки и т.д.
Ответ 3
Согласно документации Vim (: h 03.1)
-
Слово заканчивается символом без слова, например, ".", "-" или ")".
-
СЛОВО полностью заканчивается пробелом. Это может быть не слово в нормальном смысле, поэтому в верхнем регистре.
например.
ge b w e
<- <- ---> --->
This is-a line, with special/separated/words (and some more). ~
<----- <----- --------------------> ----->
gE B W E
Если ваш курсор находится в m (больше),
-
слово будет означать "больше" (т.е. ограничено символом ")", отличным от слова)
-
тогда как СЛОВО означало бы "больше". (т.е. ограничивается только пробелом)
Аналогично, если ваш курсор находится в точке p (специального)
- слово будет означать "специальный"
- тогда как WORD будет означать "специальные/разделенные/слова"
Ответ 4
Другой способ сказать это. Если ур кодирования и хотите двигаться через линию, останавливающуюся на разделителях и линиях вещей, которые "(). [],:" Использовать w.
если вы хотите обойти их и просто перейти к словам, скажем, как роман или рассказ, используйте W.
Для кодирования малый w, вероятно, используется чаще всего. Зависит от того, где вы находитесь в коде.