写真提供:secretlondon123
これは、SathiyaMoorthy によって書かれたゲスト投稿です
この記事は、進行中の Vi / Vim のヒントとテクニック シリーズの一部です。 Mark は Vim エディター内のブックマーク機能で、特定の行をブックマークして後ですぐに戻ることができます。 Vim エディターを定期的に使用している場合は、ブックマークを使用するこの単純なテクニックを使用すると、生産性が大幅に向上します。
Vim には、ローカルとグローバルの 2 種類のブックマークがあります。
1. Vim ローカル ブックマーク
特定の位置または行に移動する場合は、1 つのファイル内でローカル マーキングを使用できます。ブックマーク名が小文字の場合、それはローカル マークです。
Vi 内でブックマークを作成する方法
m{マクロ名} と入力します。 macro-name は、ブックマークの名前を参照するアルファベットです。
「ma」と入力すると、現在の行の現在位置に「a」という名前のブックマークが作成されます。次の例では、ma と入力すると、カーソルが強調表示されている正確な場所にブックマークが作成されます。
ma
図 1: ma を使用して Vim 内の現在の場所をブックマークする
Vi 内のブックマーク行にアクセスする 2 つの方法
方法 1:`{マクロ名}
バッククォートの後にマクロ名が続きます。正確なブックマークの場所に移動します。これにより、以前にブックマークされた場所から行内の正確な文字位置にジャンプします。
たとえば、「a」と入力すると、「a」という名前のブックマークに移動します。つまり、上の図 1 でカーソルが強調表示されている場所に移動します。
`a
方法 2:'{マクロ名}
単一引用符の後にマクロ名が続きます。ブックマークされた行の先頭に移動します。
たとえば、「a」と入力すると、「a」という名前のブックマークがある行の先頭に移動します。上記の図 1 の「CustomLog ログと access_log を組み合わせた」行の先頭に移動します。
'a
2. Vim グローバル ブックマーク
複数のファイルを開いているときに、開いているファイルの特定の位置に移動したい場合は、Vim のグローバル マーク機能を使用できます。ブックマーク名が大文字の場合、それはグローバル ブックマークです。
次の一連の手順では、複数のファイルを編集しながらグローバル ブックマークを使用する方法について説明します。
3.すべてのブックマークを表示する方法
いくつかのブックマークを作成したが覚えていない場合は、以下に示すように :marks と入力すると、すべてのブックマークのリストを簡単に取得できます。
:marks mark line col file/text a 15 9 ypserver 192.168.1.119 b 11 18 domain THEGEEKSTUFF G 56 0 group P 45 0 passwd
これは、次のブックマークを作成したことを示しています:
- a – 15 行目と 9 列目に「a」という名前のローカル ブックマーク。これにより、15 行目のテキストも得られます。これは、現在開いているファイル yp.conf からのものです
- b – 11 行目と 18 列目に「b」という名前のローカル ブックマーク。これにより、18 行目のテキストも得られます。これは、現在開いているファイル yp.conf からのものです
- G – 「グループ」ファイルの 56 行目と列 0 に「G」という名前のグローバル ブックマーク
- P – 「passwd」ファイルの 45 行目と列 0 に「P」という名前のグローバル ブックマーク。
上記のブックマークとは別に、Vim 内で :marks を入力すると、次の行が表示されることがあります。これらの記号 ‘ (シングル クォーテーション)、" (ダブル クォーテーション)、[ 、 ]、^ および . (ピリオド) はデフォルトで vim によって作成され、それを制御することはできません。
:marks mark line col file/text ' 8 12 #^IUse broadcast on the local net for domain NISDOMAIN " 1 0 # /etc/yp.conf - ypbind configuration file [ 11 0 domain THEGEEKSTUFF ] 11 19 domain THEGEEKSTUFF ^ 11 19 domain THEGEEKSTUFF . 11 18 domain THEGEEKSTUFF
例えばマーク。 (ピリオド) は、変更が行われた最後の位置を示します。したがって、いつでも `. (バックティックの後にピリオドが続きます)、最後の変更が行われた位置に移動します。
4. Vim ブックマーク コマンドの概要
- ma – a というブックマークを作成します
- `a – ブックマーク a の正確な位置 (行と列) にジャンプします
- ‘a – ブックマーク a の行頭にジャンプ
- :marks – すべてのブックマークを表示
- :marks a – a という名前のブックマークの詳細を表示します
`。 – 最後の変更が行われた正確な場所 (行と列) にジャンプ - '. – 最後の変更が行われた行の先頭にジャンプ
推奨読書
Vim 101 ハック、Ramesh Natarajan 著 .私はコマンドライン中毒です。だから当然、私は Vi と Vim エディターの大ファンです。数年前、Linux で多くの C コードを書いていたとき、利用可能な Vim エディターのヒントとコツをすべて読んでいました。私の Vim エディターの経験に基づいて、Vim エディターで高速かつ生産的になるさまざまな高度な Vim 機能に関する 101 の実用的な例を含む Vim 101 Hacks eBook を作成しました。数年間 Vi および Vim エディタを使用しており、この本をまだ読んでいない場合でも、ぜひこの本を読んでください。 Vim エディターの機能に驚かれることでしょう。