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

Vim エディター内でブックマークを追加する方法


写真提供: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 のグローバル マーク機能を使用できます。ブックマーク名が大文字の場合、それはグローバル ブックマークです。

次の一連の手順では、複数のファイルを編集しながらグローバル ブックマークを使用する方法について説明します。

<オール>
  • 複数のファイルを開く:# vim /etc/passwd /etc/group
  • /etc/passwd ファイルの編集中に、特定の行に移動して mP と入力し、P というグローバル ブックマークを作成します
  • /etc/passwd ファイルから :n と入力して、vim の /etc/group ファイルにジャンプします。
  • /etc/group ファイルの編集中に、特定の行に移動して mG と入力し、G というグローバル ブックマークを作成します
  • `P (バックティックの後に大文字の P) を入力すると、/etc/passwd のブックマークに移動します
  • /etc/passwd から、`G (バックティックと大文字の G) を入力します。これにより、/etc/group のブックマークに移動します。
  • 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 エディターの機能に驚かれることでしょう。


    Linux
    1. LinuxでVimをデフォルトのエディターとして設定する方法

    2. vi / vimで行番号を表示するにはどうすればよいですか?

    3. VIM:Ubuntu で正確な行に移動する方法

    1. LinuxでVimの行を削除する方法

    2. vimエディターでコマンドを追加するには?

    3. Linux でホスト名表示を VIM ステータスラインに追加するには?

    1. Firefoxにライブブックマークを追加する方法

    2. Vim/Viで行番号を表示する方法

    3. Vimエディターを使用して複数のファイルを編集する方法