カーソルを移動するためのvim help quickrefコマンドを探しています。次の行は、両方が同じように動作するため、混乱しています。例を挙げて違いを詳しく説明してください。
N w N words forward
N W N blank-separated WORDS forward
同じ質問がeとEにも当てはまります。
カーソルを移動するためのvim help quickrefコマンドを探しています。次の行は、両方が同じように動作するため、混乱しています。例を挙げて違いを詳しく説明してください。
N w N words forward
N W N blank-separated WORDS forward
同じ質問がeとEにも当てはまります。
回答:
このチートシートによると、句読点になっているようです。
w jump by start of words (punctuation considered words)
W jump by words (spaces separate words)
e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
デモ使用 w
デモ使用 W
最初のデモwでは、カーソルが句読点に到達するのにいつヒットするかを確認し、2番目のデモでは句読点をスキップします。これは、小文字のコマンドとそれに相当する大文字のコマンドの違いです。
実際には非常に単純でw
、次の単語にスキップしますが、句読点や空白文字は単語を分割します。 W
は、産業用の強力な次の単語コマンドのように、単語はタブ、スペース、改行などの空白文字で区切られます。 w
あなたがそれに対処したい場合、区切り句読点でも停止します。
私は、ホスト名で最も頻繁に違いを見つけます:
birdman.cartoons.fictional.com # Fictional host
ではw
、ホスト名とドットの各部分で停止します。 W
ホスト名全体をスキップして、に進みます#
。これらは両方も適用d
し、c
単語を削除、変更します。
上記の行の先頭に配置されている場合birdman.cartoons
、何か他のもの3cw
に置き換えるには、最初の2つの部分と中央のドットの両方を置き換えるために使用します。W
ホスト名全体を再入力せずにそれを行うことはできませんでした。
これは、句読点が単語を区切るVimの概念にどのように影響するかを考慮することで最もよく理解される違いです。
このサンプルテキストの場合:
This line is space separated with no commas
however, this line is—note—comma, separated,see
w交渉するスペースしかないため、最初の行の各単語の最初の文字まで喜んでスキップします。2行目では句読点がひどく失敗し、各単語の最初の文字とコンマとダッシュが降ります。2行目の単語から単語に移動するには、Shiftw1を使用する必要があります。
1.それでも、Vimは「is–note–comma」を1つの単語と見なします。
違いは、vimの内部ヘルプページで確認できます。まず、:help
wまたはWを使用してw とWの説明を取得しましょう:help W
。
ここで、wordとWORDの定義を知りたいです。: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
ます。空の行もWORDと見なされます。