Uczę się Vima i nie mogę pojąć różnicy między word
i WORD
.
Otrzymałem z podręcznika Vima.
Słowo składa się z sekwencji liter, cyfr i znaków podkreślenia lub sekwencji innych niepustych znaków, oddzielonych spacjami (spacje, tabulatory). Można to zmienić opcją „iskeyword”. Za słowo uważa się również pusty wiersz.
SŁOWO składa się z sekwencji niepustych znaków, oddzielonych odstępami. Pusty wiersz jest również uważany za SŁOWO.
Czuję word
i jestem WORD
tym samym. Oba są sekwencją niepustych znaków oddzielonych białymi spacjami. Pustą linię można uznać za oba word
i WORD
.
Pytanie:
Jaka jest różnica między nimi?
A dlaczego / kiedy ktoś miałby używać WORD
over word
?
Zrobiłem już wyszukiwanie w Google i SO, ale ich wyszukiwarka interpretuje WORD
jako po prostu word
tak, jakbym szukał Vim word vs word
i oczywiście nie znajdę nic użytecznego.
:h 03.1
. Sprawdź instrukcję obsługi.vim WORD and word
- to teraz pierwszy wynik wyszukiwania :)Odpowiedzi:
()[],-
) Też nie. Dlatego słowo jest zwykle mniejsze niż SŁOWO; nawigacja po słowach jest bardziej szczegółowa.Przykład
źródło
'iskeyword'
opcji, jak wspomniał Jared Ross. Domyślnie działa tak, jak napisałem.:set iskeyword=a-z,A-Z,\",- |This |"stuff" |is |not-so |difficult|! :set iskeyword=a-z,A-Z |This |"|stuff|" |is |not|-|so |difficult|!
|
- gdzie kończy się „w”. Jak widać, zawsze jest to słowo.Jeśli to zrobię
viw
(„wybierz wewnętrznąword
”), gdy mój kursor znajduje sięapp
w następującym wierszu, zostanie zaznaczoneapp
:app/views/layouts/admin.blade.php
Jeśli wykonam
viW
(WORD
), gdy mój kursor znajduje się w tym samym miejscu, zaznacza całą sekwencję znaków. AWORD
obejmuje znakiwords
, które są podobne do angielskich słów, takie jak gwiazdki, ukośniki, nawiasy, nawiasy itp.źródło
Zgodnie z dokumentacją Vima (: h 03.1)
Słowo kończy się znakiem niebędącym słowem, takim jak „.”, „-” lub „)”.
SŁOWO kończy się ściśle spacją. To może nie być słowo w normalnym sensie, stąd duże litery.
na przykład.
Jeśli kursor znajduje się na m (lub więcej powyżej)
słowo oznaczałoby „więcej” (tj. oddzielone znakiem „)” innym niż słowo)
podczas gdy SŁOWO oznaczałoby „więcej”. (tj. rozdzielone tylko spacjami)
podobnie, jeśli kursor jest na p (specjalne)
źródło
Aby uzupełnić poprzednie odpowiedzi ... Wizualizuję to w ten sposób; SŁOWO jest większe niż słowo, zawiera więcej ...
źródło
Inaczej to wyrazić. Jeśli kodujesz i chcesz przejść przez linię, zatrzymując się na ogranicznikach i rzeczach, które "(). [],:" Użyj w.
jeśli chcesz je ominąć i po prostu przeskoczyć do słów, powiedzmy jak w powieści lub opowiadaniu, użyj W.
Do kodowania prawdopodobnie najczęściej używanym jest małe w. Zależy od tego, gdzie jesteś w kodzie.
źródło
To problem gramatyczny przy zrozumieniu definicji „słowa”.
Na początku utknąłem w chińskiej wersji tej definicji (może być brakujące tłumaczenie).
Definicja jest zdecydowanie poprawna, ale należy ją czytać tak:
Białe znaki były potrzebne tylko w przypadku oddzielania dwóch takich samych typów „słów”
Więcej przykładów w nawiasach:
(przykład ^ i $% ^ Przykład) trzy "słowo": (przykład), (^ i $% ^) i (Przykład)
(^ & ^ & ^ ^ && ^ & ^ ) dwa "słowo": (^ & ^ & ^ ^) oraz (&& ^ & ^ )
(jesteśmy w stackoverflow) pięć „słów”: (my), ('), (re), (in) i (stackoverflow)
źródło