viエディターで選択したテキストを削除する方法


116

PuTTYとviエディターを使用しています。マウスを使用して5つの行を選択し、それらの行を削除したい場合、どうすればよいですか?

また、Shiftテキストを選択するために矢印を押して移動するWindowsのように、キーボードを使用して行を選択するにはどうすればよいですか?どうすればviでそれを行うことができますか?


1
印刷された男のリストを持っていますが、選択したテキストを削除する方法が見つかりませんでした

Dの削除現在の行:行の末尾まで削除は、[削除]現在のD-D線にカーソルDの左側にカーソルX削除文字の右側にXの削除文字 lagmonster.org/docs/vi.html 少し役に立てば幸い
Mawgをモニカを

1
スーパーユーザーに関するVIMの質問?笑!
Pascal Thivent

1
@Pascal:うーん、そう、そうだね。ちなみに、うまくフォーマットされた答え。ああ、そして彼/彼女の質問はVIMについてではなくVIについてでした。;)
マルセルコーペル

回答:


215

PuTTYとviエディターを使用しています。マウスを使用して5つの行を選択し、それらの行を削除したい場合、どうすればよいですか?

マウスを忘れてください。5行を削除するには、次のいずれかを実行します。

  • 最初の行に移動して入力d5ddd1行をd5d削除、5行を削除)〜or〜
  • タイプShift-v入力する行単位選択モードを使用して上下にカーソルを移動し、その後、j(はい、使用することをhjkl移動するには左をダウンアップはそれぞれ、はるかに効率的な矢印を使用するよりもだという)と入力d選択を削除します。

また、Shiftテキストを選択するために矢印を押して移動するWindowsのように、キーボードを使用して行を選択するにはどうすればよいですか?どうすればviでそれを行うことができますか?

前に述べたように、を使用Shift-vして、行ごとの選択モードvに入るか、文字Ctrl-vごとの選択モードに入るか、ブロックごとの選択モードに入る。その後に移動しhjkl

vimtutor非常に教訓的な方法でVimに慣れるために、Vimチューター(run )を使用することをお勧めします。

こちらもご覧ください


1
端末がサポートしていれば、実際にはvimは優れたマウスをサポートしています。例えば、使用してgpmコンソールでデーモンを、または実行しているxtermkonsole、あなたはvimの言うことができるグラフィカルな環境でのset mouse=aなど、(またはあなたの.vimrcに追加)、マウスが分割のサイズを変更すると、選択のために使用することができます
ベンフォークト

@ベンそうです、私はマウスをまったく使用しませんが、これはVIMが(特定の状況で)マウスを処理できないことを意味しません。あなたがタイプしている間、私は実際に私の不正確な部分を私の答えから取り除いていました。
Pascal Thivent

また、Vが大文字であるかどうかを判断するのは非常に困難です...ラインモードを選択するには、[Shift] + [V]と言うことをお勧めします。
Ben Voigt 2010年

私はそれがしばらくしている知っているが、使用する理由はhjklなり多くの矢印を使用するよりも効率的ですか?矢印を使用しても問題はなく、最終結果は同じに見えます。また、矢はその目的のために最初に設計されたので、その配置は(少なくとも私にとっては)直感的に感じられます
フレデリコパントゥザ2017

1
@FredericoPantuzzaそれはその時点での腕の動きの問題です-目標はいつでもホームのローキーに指を置くことです。右腕を持ち上げて矢印キーまでスライドさせて使用する必要があるため、時間の経過とともに増えていきます。
AndrewF 2017

59

それをviの方法で行います。

5行を削除するには、5dd(5 delete)を押します。

選択するには(実際にはそれらをクリップボードにコピーします)、次のように入力します。 10yy

理解するのは少し難しいですが、それらのリモート端末を使用するときに学ぶことは非常に便利です

一部のエディターの学習曲線に注意してください。


(ソース:unix.rulez.orgのcalver


31

行番号を使用して削除する場合は、次を使用できます。

:startingline, last line d

例:

:7,20 d

この例では、7行目から20行目を削除します。


今のところ、このヒントに気づいていません。それは魅力のように機能します!ありがとう!

13

マウスで強調表示すると、端末の文字のみが強調表示されます。VIは実際にはこの情報を取得しないため、別の方法で強調表示する必要があります。

「v」を押して選択モードに入り、矢印キーを使用して移動します。削除するには、xを押します。一度に行を選択するには、Shift + Vを押します。ブロックを選択するには、ctrl + vを試してください。たとえば、コードの前にたくさんのコメント行を挿入するのに適しています:)。

私はVIで大丈夫ですが、改善するのにしばらく時間がかかりました。私の仕事仲間は私にこのチートシートを勧めました。私は何かを忘れたときの奇妙な瞬間のために壁にプリントアウトを保管します。

ハッキングハッピー!


6

PuTTYのような端末を使用する場合、通常、マウスのクリックと選択はリモートシステムに送信されません。そのため、viは、テキストを選択しただけだとは思いません。(これには例外がありますが、通常、マウスアクションは送信されません。)

viで複数の行5ddを削除するには、5行を削除するようなものを使用します。

Vimを使用していない場合は、使用することを強くお勧めします。ビジュアル選択を使用できます。押すVとビジュアルブロックが開始し、カーソルをもう一方の端に移動し、を押すdと削除(またはyコピーなどの他の編集コマンド)できます。


1
@Justin L .:を使用し<kbd>a</kbd>ます。
グレッグヒューギル

1
ありがとう!:Dこれらのどこかに隠れているものはありますか?
ジャスティンL.10年

1
Puttyはマウスコマンドを送信できます。最初の文は古くなっている可能性があります。
congusbongus 2013

3

現在の行番号からファイル内のすべての行を削除する場合は、を使用しますdG。これにより、すべての行が削除され(shift g)、ファイルの終わりを意味します

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