Vim でファイル内のすべてのテキストを選択するには、 ggVG ノーマルモードでコマンドを実行します。テキストを選択した後、すべてのテキストに対してコピー、削除、変更、貼り付けなどの操作を簡単に実行できます。
GUI ベースのオペレーティング システムを使用している場合は、 Ctrl+A ファイルまたはウィンドウ内のすべてのコンテンツを選択するショートカット キー。 Vim では、同じキーを使用してすべてのテキストを選択することはできません。代わりに、ファイル内のすべてを選択するための別のキーのセット (ggVG) が提供されます。このガイドでは、Vim でテキストを選択する方法と、キー マッピングを使用してテキストを選択しやすくする方法を説明します。
注記: このガイドで説明されている Vim コマンドは macOS 上で実行されます。 Vim はクロスプラットフォームのテキスト エディターであるため、コマンドは Linux や Windows でもエラーなく機能します。
Vim ですべてを選択
Vim ですべてを選択するには、 ESC キーを押して NORMAL モードに入り、以下のコマンドを入力します。
ggVG
上記のコマンドでは、5 つのキーの組み合わせが使用されています。分解してみましょう。
- ぐぐ カーソルを最初の行の先頭に置くために使用されます。
- で 現在のモードを VISUAL LINE モードに切り替えるために使用されます。
- G カーソルを最後の行の先頭に置くために使用されます。
すべて選択した後、次の表に記載されているコマンドを使用して、目的の操作を実行します。
そして | すべてのテキストをコピー(ヤンク)するには |
d | すべてのテキストを削除するには |
c | すべてのテキストを変更するには |
s | 特定のパターンを文字列に置き換えるには |
Vim で Ctrl+A マップを使用してすべてを選択
まあ、私を含めて、ファイル内のすべてのテキストを選択するために少し覚えるのが難しい Vim コマンドのセットを使用したいと思う人は誰もいません。しかし Ctrl+A (Linux および Windows では) キーは広く使用されており、覚えやすいです。したがって、私はマップすることを好みます Ctrl+A のキー ggVG 指示。
を開きます vimrc ファイルに次の行を配置し、次のコマンドを使用して保存します。 :wq コマンドを押すか、 シフト+zz キー。
ノアマップ < C-a > ggVG
上記のコマンドでは、 ノアマップ NORMAL モードでキーを非再帰的にマップするために使用されます。
ファイル内のすべての行をコピーして削除する
の % command は、ファイル全体に対する操作を実行するためのもう 1 つの便利なコマンドです。たとえば、ファイル内のすべての行をコピーするには、 :%そして 指示。の % 現在のファイル名を示します。 そして ファイル内のすべてのテキストをコピーしています。同様に、すべての行を削除するには、 :%d 指示。
: % そして 「ファイル内のすべての行をコピーします:%d 」 すべての行を削除します で ある ファイル
: % s /< パターン >>< 交換 > 「パターンを文字列に置き換える」
同じ機能は、 ぐぐ そして G コマンド。ただし、カーソルの位置によって異なります。次のコマンドを使用して、カーソルをファイルの先頭に移動します。 ぐぐ そして押します yG すべての行をコピーします。同様に、カーソルを末尾に置きます。 G そして押します ユグ すべての行をコピーします。行を削除するには、置き換えます そして と d 。
さらに、 やあ そして DD コマンドも行番号としてカウントを受け取ります。 4 行をコピーする場合は、4yy を押すと、カーソル位置から 4 行がコピーされます。ファイル内のすべてのコピーと削除の機能は、次のいずれかで 99999 などの大きな数値を渡すと実現できます。 やあ または DD 指示。例えば、 99999yy そして 99999dd コマンドは、ファイル内のすべてのコンテンツをコピーして削除します。
すべてのテキストをシステム クリップボードにコピーします
Vim からコピーしたテキストをテキスト エディターやブラウザなどのシステム アプリケーションに貼り付けるには、 ぐぐ 「 *yG 指示。通常、Vim はテキストをデフォルトの名前のないレジスタにコピーします。このレジスタには、次のコマンドを使用してアクセスできます。 :reg 「」 。ただし、Vim では、Vim エディターの外にテキストを貼り付けることはできません。使用 ' *そして コマンドを使用して、 選択された テキストをオペレーティング システムのクリップボードにコピーします。
ぐぐ 「*yG 」 システムのクリップボードにコピーします
上記のコマンドでは、 * システム レジスタは、データを保持するための小さな記憶領域です。システムレジスタは2つあります + および * であり、両方ともコンテンツをシステム クリップボードにコピーするために使用できます。 COMMAND モードでは、このコマンドを別の方法で使用できます。
: % y+ 「システムのクリップボードにコピーします
ここ、 % ファイル全体を表し、 そして 引っ張るためのものであり、 + システムレジスタです。しかし、 * 同じ目的で使用することもできます。
同様に、クリップボードに何かをコピーした場合、それを Vim に貼り付けるには、次のコマンドを使用します。 「+p.
結論
Vim では、コマンド ggVG ファイル内のすべてを選択するために使用されます。すべての行を選択した後、コピー、変更、削除などのさまざまな操作を実行できます。ただし、これらの操作は、コマンド ラインを使用して実行することもできます。 % サイン。 Vim で全選択操作を実行するには、キーをマッピングすることをお勧めします。