「複合」単語を削除する最も簡単な方法は?


20

「コンポジット」が技術用語でない場合はおologiesび申し上げます。私は次のことを意味します:

Hi, I-am-a-composite-word and we are not

複合語のみを削除したいです。コマンドモードでは、カーソルをに移動し、数回I繰り返すdwか、dw1回入力してから数回.押すとうまくいきます。しかし、さまざまな理由で、私は日中にこれを非常に頻繁にやっているので、もっと簡単な方法があるかどうか疑問に思っていました。

PS私は、コマンドがより簡単な方法であるとは考えませんd9w。単語やダッシュの長いシーケンスを数えることは、「単純な」という私の考えではありません。

回答:


33

あなたが複合語と呼んでいるものは、実際は(言葉に反対する)WORDです。読む:h word:h WORD役立つはずです:

                            *word*
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.
                            *WORD*
A WORD consists of a sequence of non-blank characters, separated with white
space.  An empty line is also considered to be a WORD.

ここであなたが探しているのはdW、あなたがいるとき、IまたはdiWあなたが言葉のどこかにいるときです。

将来的にはあなたも読む必要があるでしょう:h 'iskeyword'


1
答えてくれてありがとう:それは動作します。定義の適切な例:A WORD consists of a sequence of non-blank characters, separated with white spaceSeparated with white space単語が他の単語または空白を含む単語で区切られていることを意味しますか?
DeltaIV

2
@DeltaIVうんin-this-sentence there are four"WORDs4つのワードでありin-this-sentencethereareおよびfour"WORDs。たとえばwand Wband Bモーションを使用すると、簡単に確認できます。空白には、「通常の」スペースまたはタブ文字を使用できます。
statox

1
この答えは、読者が解決策を見つけるために真ん中の段落まで歩き回るよりも、「ここで探しているものはdW ..」で始まっている場合、よりすぐに役立ちます。
マークメーアー

9

別のより一般的な解決策は、「dt (文字の後にt)を使用して」を使用して空白文字まで削除することです(これは[文字]に削除します。これは多くの場合dt:同様に役立ちます。


何をdt: するの?
DeltaIV

1
同じ回答を投稿したとき<code>dt </code>、最後にスペースを含めることができることを学びました。
BurnsBA

2
@DeltaIV実際に何が本当に必要なのは読むことです:h motion.txtし、使用するvimtutor、それが大幅にVimのの基本を取得するのに役立ちます
statox

@statox私はVIMに熟練していた... 10年前:-) vimtutor非常に興味深いですね。リモートサーバーにインストールされているかわかりません(manユーティリティがインストールされていないようです)。ただし、確認するのは、vimパッケージと一緒に自動的にインストールされる場合、使用できる可能性が高いことです。
DeltaIV

1
@BurnsBAありがとうございます、それはこのサイトにとって本当に便利です。ところで 他の人からの投稿を編集したり、編集がピアレビュープロセスを経て+2の評判を得たりすることさえできます。しかし、この方法で、私も新しいことを学びました:-)。
アロ

4

使用し続けるdwなど、さらに単語をダブルクリックして動作させたい場合は、追加できます

set iskeyword+=-

に、単語文字として.vimrc追加します-

例:

ab-cd視覚的に強調表示されている任意の文字をダブルクリックしますab-cd


に切り替えてdWも問題ありませんが、視覚モードにも影響するため、ソリューションもかなりクールです。つまり、を変更することでiskeyword、ダブルクリックしてからを押すと、dを削除できるはずab-cdです。右?
DeltaIV

またはv、ダブルクリックするのではなく、でビジュアルモードに切り替える必要があります。右?
DeltaIV

1
@DeltaIV iskeywordを変更することにより、ワードオブジェクトで任意のメソッドを使用できます(iwまたはawを含む、マウスまたはビジュアルモードを使用するよりも大幅にシンプル)
D.ベンノブル

4

f(find)およびt(to)コマンドを忘れないでください。私はおそらくただdt またはdf (最後のスペースに注意してください)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.