Vim マークはファイル内の特定の場所であり、名前を設定し、後でその名前で呼び出すことで返されます。手紙 メートル その後に別の文字 {a-z または A-Z} を使用してマークを設定できます。 一重引用符 ) ') マーク名を付けるとそのマークに戻ります。注意してください、 小文字 文字は設定に使用されます ローカルマーク 一方 大文字 文字は設定に使用されます グローバルマーク 。
- Vim マークを理解する
- マークを設定する
- リストマーク
- マークにジャンプ
- グローバルマーク
- 番号付きマーク
- マークを削除する
- 高度な機能
- 小文字マークと大文字マークの違い
- Vim マークのチートシート
- 結論
Vim マークを理解する
Vim では、特に大きなファイルをすばやく前後に移動する必要がある場合に、ファイル内の特定の位置を設定できます。この機能により、数百行あるファイルのナビゲートが非常に簡単になります。たとえば、500 行のコードを含む Python コードで作業している場合、コードの特定の行に到達するためにファイルをスクロールする必要がある場合があります。しかし、任意の位置にマークを設定しておけば、いくつかのキーを押すだけで簡単に移動できます。
Vim のマーク機能はナビゲーションに限定されず、マークを使用して他のコマンドを実行することもできます。これについては、このガイドの後のセクションで説明します。 Vim でマークを設定して使用する方法を見てみましょう。
注記: このガイドの手順では、Linux ディストリビューション (Ubuntu 22.04) と Vim バージョン 8.2 を使用しています。
マークを設定する
Vim でマークを設定するには、マークを設定したい場所にカーソルを置き、 メートル 鍵 、 その後に次からの手紙が続く ある に と 。たとえば、文字の名前をマークに設定したい場合 と それから私はタイプします mz ノーマルモードで。
mz
Vim でマークを設定するには複数の方法がありますが、この手順が最も簡単です。
上記の手順は広く使用されており、非常に迅速ですが、明示的に確認しない限り、マークが設定されているかどうかを視覚的に確認することはできません。
Vim でマークをリストするには、 :マーク コマンドについては、「」で説明します。 リストマーク セクション。ただし、ウィンドウの下部にあるキーストローク表示を有効にするには、 :showcmd を設定します。
: セット showcmdを使用することもできます。 マーク または マーク マークを設定するコマンド。たとえば、 と マークは、以下のコマンドを使用して設定することもできます。
: マークZ各 Vim ファイルには次のマークを付けることができます。 ある に と , ただし、マークを設定すると と ある位置に同じマーク名を使用し、別の位置に同じマーク名を使用すると、以前に設定したマークは削除 (上書き) されます。
大文字の {A-Z} を使用してマークを設定することもできることに注意してください。大文字のマークは、 グローバルマーク ファイルに基づいています。グローバル マークについては、別のセクションで詳しく説明します。
リストマーク
前のセクションで説明したように、作成されたすべてのマークを簡単にリストできます。
を使用して :マーク 指示。
: マーク
上の出力画像では、すべてのマークがリストされています。一部はカスタムで、一部はデフォルトです。
マークをリストする方法は他にもいくつかあります。特定のマークをリストするには、 :マーク コマンドにマーク名を付けて入力します。たとえば、マークをリストするには と、 使用 :marks <マーク名> 指示:
: マークz
同様に、複数のマークをリストするには、 :マーク <マーク名> :
: マークabzどこ ある 、 b、 そして と マーク名が異なります。
ファイル内のマークはデフォルトでは表示されません。マークをグラフィカルに表示するには、さまざまなプラグインがあります。 Vim でマークを表示できるよく知られたプラグインは次のとおりです。 ショーマーク そして Vim の署名 。
ShowMarks プラグインはエラーが多く、何年も更新されていないため、 Vim の署名 マークを表示するプラグイン。
プラグインをインストールするときにマークを設定すると、次の図に示すように、プラグインは名前とともに明示的に表示します。
マークにジャンプ
マークを設定したら、次のステップはマークをナビゲートすることです。現在のバッファ内のマークされた行の先頭にジャンプするには、 一重引用符 (') マーク名は {a-z} です。
'と正確な位置 (行/列) にジャンプするには、 バッククォート (`) マーク名は {a-z} です。
`zシングル (‘) とバッククォート (`) を使用して、グローバル マーク {A-Z} をジャンプすることもできます。
小文字記号によるナビゲーションの表を以下に示します。
」 | ジャンプした場所から行に戻ります |
「 | ジャンプした位置にジャンプして戻ります |
' 。 /`。 | 最後に編集した行/位置にジャンプするには |
`[\`] | 最後にヤンクされたテキストの先頭/末尾にジャンプするには |
`<\`> | 最後のビジュアル選択範囲の開始/終了にジャンプするには |
[カウント]] ' | 現在のカーソル位置からマーク数[count]の次の行にジャンプします |
[カウント]]` | 現在のカーソル位置からマークの数をジャンプ [カウント] するには |
上記のナビゲーション キーは小文字記号用であることに注意することが重要です。
Vim マークについての議論は、 ジャンプする そして ジャンプリスト 。の ジャンプリスト ファイル内またはファイル間で行われたジャンプ (マークまたは通常の Vim デフォルト ジャンプ) を保存します。
すべてのジャンプをリストするには、次を使用します。 :ジャンプ コマンドを使用し、すべてのジャンプを削除するには、 :クリアジャンプ。 ジャンプをナビゲートするには、次を使用します。 Ctrl+O そして Ctrl+I キー。
注記: ジャンプを削除する前に、ジャンプを削除するとナビゲーション履歴に影響を与える可能性があることに注意してください。
マークの間を移動するにはジャンプを使用する方が便利だと思います。まず、すべてのジャンプをクリアします。これを行わないと、他のファイルに移動してしまう可能性があります。次に、レジスターマークがジャンプします ジャンプリスト ファイルには一重引用符またはバッククォートを使用します。完了したら、私は Ctrl+O そして Ctrl+I キーを使用してマークをすばやくジャンプします。
マークの移動に関する詳細なヘルプについては、 :ヘルプマーク そして :ヘルプジャンプリスト コマンド。
グローバルマーク
Vim のグローバル マークは、ファイル間をジャンプするように設定されています。ローカル マークとは異なり、グローバル マークは大文字で設定され、ファイル全体で使用できます。
例を使ってグローバル マークの重要性を理解しましょう。コード ファイルで作業していて、そのファイル内の特定の関数にアクセスしたいとします。したがって、ファイルを開く代わりに、設定されたグローバル マークを入力するだけで、ファイルは特定の場所で開かれます。
グローバル マークを設定するには、mark コマンドを使用します。 メートル その後に大文字の {A-Z} が続きます。
mZこれで、どのファイルからでもこのマークにアクセスできるようになります。グローバル マークにジャンプするには、「 マークにジャンプ セクション。マークを含むファイルが開き、現在のファイルが閉じられます。
'と同様に、正確な位置に移動するには、マーク名 (`Z) を付けたバックティックを使用します。
番号付きマーク
番号付きマーク {0-9} は、現在のカーソル位置を viminfo ファイルを終了するときにファイルを削除します。番号付きマークは特殊なため、直接設定することはできません。これらのマークは、 viminfo ファイルを終了するときにファイル内の変更を追跡します。たとえば、ファイルを終了すると、 viminfo ファイルには、最後のカーソル位置情報が 0、1、2 などの番号付きマークに保存されます。
番号付きマークをリストするには、 :マーク 指示。
Vim の番号付きマークの詳細については、 :help viminfo-ファイル-マーク 指示。
マークを削除する
すべてのマーク、特定のマーク、またはマークの範囲を削除するには、さまざまな方法があります。
マークを削除するには、 :デルマーク または :デルム コマンドを使用できます。
:デルマークz | 特定のマークを削除するには、たとえば、 と |
:デルマークx-z | マークを削除するには バツ に と 削除するような バツ 、 そして 、 そして と |
:デルマークス アブシー | 削除するには ある 、 b 、 バツ、 そして そして マーク |
:デルマークzZ | 削除するには と そして と マーク |
すべての小文字の {a-z} マークをクリアするには、次を使用します。 :デルマークス! 指示。大文字マークと数字マークをクリアするには、次を使用する必要があります。 :デルマーク A ~ Z そして :デルマーク0-9 コマンド。大文字の {A-Z} マークを消去したい場合は、次を使用します。 :デルマーク A ~ Z 。番号付きマークも同じコマンドを使用してクリアできます。
高度な機能
マークは位置であるため、Vim でのファイルの編集にも使用できます。たとえば、特定のマークから別のマークに何かを削除、コピー、または変更するには、マーク名を指定してそれぞれのコマンドを使用できます。
次の表では、 と マーク名として使用されます。
d ' z/d`z | 現在の行から次のマークされた行まで削除 / 現在の位置から次の正確なマークされた位置まで削除 |
c ' z/c`z | 現在の行から次のマークされた行にテキストを変更します / 現在の位置から次の正確なマークされた位置までテキストを変更します |
そして ' z / y`z | 現在の行から次のマークされた行にテキストをコピー (ヤンク) / 現在の位置から次の正確なマークされた位置までテキストをコピー |
を実行したい場合は、 線状に 操作を実行するには、一重引用符 (‘) を使用してマークを呼び出します。 性格的に 操作にはバッククォート (`) を使用します。
同様に、2 つのマークの間にあるものを削除、変更、またはヤンクする場合は、次のコマンド構文を使用できます。
: 'バツ、' そして < d、c、または y >たとえば、マークからすべての行を削除したい場合は、 'バツ マークする 'そして 使用 : ' バツ、 ' yd 指示。
マークの付いた以下のファイルを参照してください b そして c 。
マークからすべての線を削除するには b に c (含む)、以下のコマンドを実行します。
: 「b、」 CD
小文字マークと大文字マークの違い
小文字と大文字のマークにはそれぞれ異なる機能があります。
小文字はファイル内で使用されており、アルファベットから設定できます。 ある アルファベットに と どのファイルでも。これらは、作成されたファイルに固有です。作成されたファイル内でアクセスおよび管理できます。一方、大文字の記号 {A-Z} はグローバルであり、同じ名前を設定することはできません。これらのマークには、アポストロフィ (‘) またはバックティック (`) を使用して任意のファイルからアクセスできます。
ナビゲーションと、小文字と大文字のマークを削除するプロセスは似ています。ただし、小文字のマークには、ファイル内設定により、より多くのナビゲーション コマンドが含まれています。
もう 1 つの重要な点は、ファイルまたはセッションの終了時にマークが削除されないことです。したがって、マークを設定した場合、ファイルを再度開いてもマークはそのまま残ります。
Vim マークのチートシート
Vim エディターのマーク機能を使用するために必要な主要な操作を次の図に示します。
結論
Vim エディターのマークは、数百行あるファイルをナビゲートするためにカスタム設定された位置です。マークには大文字と小文字の 2 種類があります。小文字のマークは、ファイル内を移動するのに便利です。ファイル間を移動するには、大文字のマークが使用されます。マークを設定するには、文字 メートル 別の小文字または大文字 {a-z、A-Z} と一緒に使用されます。任意のファイルのマークは、 :マーク 指示。マークを削除するには :デルマーク または :デルム マーク名の付いたコマンドを使用します。