GNU/Linux >> Linux の 問題 >  >> Linux

Vimでマーカーを使用してテキスト選択を実行する方法

GUIベースのテキスト/ソースコードエディタを使用する場合、テキストの選択など、いくつかの機能が提供されます。つまり、私たちのほとんどは、これをもう機能とは見なさないでしょう。しかし、Vimのようなコマンドラインベースのエディターではそうではありません。特にVimの場合、キーボードのみを使用する場合は、テキストを希望どおりに選択するために特定のコマンドを学習する必要があります。このチュートリアルでは、この機能とVimの「マーク」機能について詳しく説明します。

But before we start doing that, it's worth mentioning that all the examples, commands, and instructions mentioned in this tutorial have been tested on Ubuntu 16.04, and the Vim version we've used is 7.4.

あなたがVimエディタについての基本的な知識を持っていると仮定すると(いいえ?問題ありません、ここに進んでください)、「d」コマンドで行をカット/削除できることを知っているでしょう。しかし、たとえば3行をカットしたい場合はどうでしょうか。あなたの答えは次のようになります:'コマンドを3回繰り返します'。結構ですが、要件が完全な段落(または、たとえば、それらのいくつか)をカットすることである場合はどうなりますか?最初に手動で行数を数え、次に「d」コマンドを実行しますか(「[n] dd」を使用する場合でも)、実用的な解決策ですか?

いいえ、ちがいます。この場合のより良い解決策は、切り取り/削除する行を選択してから、「d」コマンドを1回だけ実行することです。次に例を示します:

以下のスクリーンショットに示されている「はじめに」セクションの最初の段落全体を切り取り/削除したいとします。

したがって、最初の行の先頭にカーソルを置き、(挿入モードが終了していることを確認して)「V」(Shift + v)コマンドを入力します。これにより、最初の行が選択され、Vimがビジュアルラインモードを有効にします。

今、私がしなければならないのは、下矢印キーを使用して段落全体を選択することだけです。

それが私たちが望んでいたことですよね?ここで「d」を押すだけで、選択した段落が切り取られ/削除されます。言うまでもなく、切り取り/削除以外に、選択したテキストに対して他のオプションを実行できます。

これにより、別の重要な側面がもたらされます。1つまたは複数の行全体を削除する必要があるたびにではありません。そのような場合はどうすればよいですか?つまり、先ほど説明したソリューションは、完全なラインで操作を実行する場合にのみ機能します。要件が段落の最初の3つの文を削除することである場合はどうなりますか?

これにもコマンドがあります。「V」の代わりに「v」を使用してください(もちろん一重引用符は使用しません)。以下は、-で「v」を使用してから、段落の最初の3つの文を選択した例です。

次に進むと、処理しているデータが個別の列で構成されている場合があり、特定の列を選択する必要がある場合があります。たとえば、次のスクリーンショットについて考えてみます。

国の名前のみを選択する必要があるとします。これは、テキストの2番目の列を意味します。したがって、この場合にできることは、問題の列の最初の要素の下にカーソルを置き、Ctrl+vを1回押すことです。次に、下矢印キーを使用して、各国名の最初の文字を選択します。

次に、右矢印キーを使用して、列全体または名前全体を選択します。

ヒント :何らかの理由でテキストのブロックの選択を解除し、もう一度選択したい場合は、コマンドモードで「gv」を押してください。

大きなファイル(たとえば、ソースコードファイルやシェルスクリプト)で作業しているときに、特定の場所に切り替えてから、元の行に戻りたい場合があります。問題の線が遠くない場合、または時々これを行う必要がある場合、これは問題ではありません。

しかし、それは逆です。現在の場所とファイル内のさまざまな遠く離れた行の間を頻繁にジャンプする必要があります。その場合の解決策は、マークを使用することです。現在の場所にマークを付けてから、マークの名前を入力するだけで、ファイル内のどこからでもこの場所に戻ることができます。

vimで行をマークするには、 mを使用します コマンドの後に、マークの名前を表すアルファベットが続きます(使用可能なオプションは小文字のa〜zです)。たとえば、 ma 。さて、マークに戻るために a 'aを使用します コマンド(一重引用符を含む)。

ヒントアポストロフィを使用できます(' )または、マークされた行の先頭にジャンプするか、具体的にはにジャンプするかに応じて、( `)をバッククォートします。 マークの行と列。

Vimマーカーには他にもさまざまな便利なアプリケーションがあります。たとえば、ある行にマークを付けてから、別の行に移動して次のコマンドを実行できます。

d'[mark-name]

現在の位置とマークされた線の間のすべてを削除します。

次に進むと、Vimの公式ドキュメントからの重要な入札があります:

Each file has a set of marks identified by lowercase letters (a-z). In addition there is a global set of marks identified by uppercase letters (A-Z) that identify a position within a particular file. For example, you may be editing ten files. Each file could have mark a, but only one file can have mark A

したがって、Vimマークとしての小文字のアルファベットの基本的な使用法について説明しましたが、大文字が役立つ方法と場所について説明しました。さて、次の抜粋はそれを十分に明確にします:

Because of their limitations, uppercase marks may at first glance seem less versatile than their lowercase counterpart, but this feature allows them to be used as a quick sort of "file bookmark." For example, open your .vimrc, press mV, and close Vim. The next time you want to edit your .vimrc, just press 'V to open it. 

最後に、マークを削除するには、「delmarks」コマンドを使用します。例:

:delmarks a

前述のコマンドは、マーク aを削除します ファイルから。もちろん、マークを含む行を削除すると、そのマークも自動的に削除されます。マークの詳細については、Vimのドキュメントをご覧ください。

Vimをプライマリエディターとして使い始めると、このチュートリアルで説明されているような機能が、時間を大幅に節約する便利なツールになります。ご承知のとおり、ここで説明する選択とマークの機能に関連する学習曲線はそれほど多くありません。必要なのは少し練習することだけです。

HowtoForgeに関するVim関連の記事の詳細については、こちらをご覧ください。


Linux
  1. LinuxでVim-plugプラグインマネージャーをインストールして使用する方法

  2. MoshコマンドラインツールLinuxをインストールして使用する方法

  3. vimでpylintを使用する方法

  1. Windows 10にVim(vi)をインストールする方法

  2. Vimの各行の先頭にテキストを挿入する方法

  3. Linux でヘッダーとトレーラー行をファイルに追加する方法

  1. Vimの配色を変更して使用する方法

  2. Vim / Viでカット、コピー、貼り付けする方法

  3. chroot jailとは何ですか?その使用方法は?