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, вероятно, используется чаще всего. Зависит от того, где вы находитесь в коде.