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

Vi および Vim マクロ チュートリアル:記録と再生の方法


Vim マクロ機能を使用すると、エディター内で一連のアクションを記録および再生できます。

この記事では、2 つの詳細な例を使用して、Vi および Vim エディター内で記録と再生を実行する方法について説明します。

Vim 内で記録および再生するためのハイレベルな手順

<オール>
  • q を押して記録を開始し、その後に小文字を入力してマクロに名前を付けます
  • Vim エディター内で一般的な編集やアクションを実行します。これは記録されます
  • q を押して録画を停止
  • @ に続けてマクロ名を押して、記録したマクロを再生します
  • マクロを複数回繰り返すには、 :NN @ マクロ名を押します。 NN は数字です
  • 例 1:Vim マクロを使用したファイル内のシーケンス番号の生成

    1. sequence-test.txt ファイルを開始して、シーケンスを生成します。

    $ vim sequence-test.txt

    2.挿入モードに移動し、「1」と入力します。以下に示すように

    タイプ:Esc i の後に 1.

    $ vim sequence-test.txt
    1.

    3.記録を開始し、レジスタ a に保存します。

    タイプ:Esc q の後に a

    • q は記録の開始を示します
    • a は録音をレジスタ a に保存することを示します
    • q a を実行すると、vi の下部に「recording」と表示されます。

    4. 1 行目を 2 行目にコピーして 1 で 2 行にします。以下に示すように

    タイプ:Esc yy の後に p

    • yy は現在の行をコピーします
    • p は、コピーしたばかりの行を貼り付けます
    $ vim sequence-test.txt
    1.
    1.

    注: 以下に示すように、Vim は引き続き下部に記録を表示します。


    :下部に録音メッセージを表示する Vim

    5.数を増やします。

    タイプ:コントロール a

    カーソルを 2 行目に置いて Ctrl+a を押すと、以下のように数字が 2 に増えます。

    $ vim sequence-test.txt
    1.
    2.

    注: vim は引き続き下部に記録を表示します。

    6.記録を停止

    タイプ:q

    録画を停止するには、q を押します。 vim の下部にある録音メッセージがなくなっていることに気付くでしょう。

    7.記録を 98 回繰り返します。

    タイプ:98@a

    • 98 @ a と入力して、この作業を繰り返します
    • @a は、マクロ「a」を 1 回繰り返します。
    • 98@a はマクロ「a」を 98 回繰り返し、マクロを使用して以下に示すようにシーケンス番号 1 ~ 100 を生成します。

    :マクロを使用して Vim でシーケンス番号を生成する

    例 2:異なる引数で Vim マクロを繰り返す

    この例では、同じコマンドを異なる入力で実行する方法を説明しています。つまり、同じコマンドを異なる引数でフレーミングします。

    マクロを実行する前に:change-password.sql

    $ vim change-password.sql
    Annette
    Warren
    Anthony
    Preston
    Kelly
    Taylor
    Stiller
    Dennis
    Schwartz

    マクロの記録と実行後:change-password.sql

    $ vim change-password.sql
    ALTER USER Annette IDENTIFIED BY 'Annette';
    ALTER USER Warren IDENTIFIED BY 'Warren';
    ALTER USER Anthony IDENTIFIED BY 'Anthony ';
    ALTER USER Preston IDENTIFIED BY 'Preston';
    ALTER USER Kelly IDENTIFIED BY 'Kelly ';
    ALTER USER Taylor IDENTIFIED BY 'Taylor';
    ALTER USER Stiller IDENTIFIED BY 'Stiller';
    ALTER USER Dennis IDENTIFIED BY 'Dennis';
    ALTER USER Schwart IDENTIFIED BY 'Schwart';

    1.名前だけの change-password.sql を開きます。

    $ vim change-password.sql
    Annette
    Warren
    Anthony
    Preston
    Kelly
    Taylor
    Stiller
    Dennis
    Schwartz

    2.記録を開始し、レジスタ a に保存します

    タイプ:qa

    • q は記録の開始を示します
    • a は録音をレジスタ a に保存することを示します
    • q a を実行すると、vi の下部にメッセージの記録が表示されます。

    3.挿入モードに移動し、ALTER USER と入力します

    タイプ:I (大文字の i) の後に「ALTER USER」

    最初の行の任意の場所にカーソルを置き、I を押します。これにより、行の最初の文字に移動します。 ALTER USER と入力

    4.次の単語 (名前など) をコピー

    タイプ:Esc w yw

    • Esc キーを押してから w キーを押すと、次の単語 ( name ) に移動します。
    • はい、現在の単語 ( name ) をコピーします。

    5.最後に移動し、「IDENTIFIED BY」と入力します

    タイプ:Esc A の後に「 IDENTIFIED BY 」を入力

    • Esc キーと A キーを押してカーソルを行末に移動し、スペースを入力します。
    • IDENTIFIED BY ' を入力

    6.コピーした名前を貼り付け

    タイプ:Esc p

    Esc キーを押してから p と入力し、手順 4 でコピーした名前を貼り付けます。

    7.最後に引用を完成させてください。

    タイプ:Esc A に続いて ';

    Esc キーと A キーを押して行末に移動し、';

    8.次の行にジャンプして記録を停止します。

    タイプ:Esc j に続いて q

    • j は次の行に移動します。
    • q は録音を停止します

    注: vi の下部に表示されていた録音メッセージが消えます。この段階で、change-password.sql は次のようになります。


    :Vim マクロが記録を完了しました

    9.対応する行の引数でマクロを繰り返します

    タイプ:8 @ a

    • 8@a と入力して、この作業を 8 回繰り返します
    • @a は、マクロ「a」を 1 回繰り返します。
    • 8@a は、以下に示すように、マクロ「a」を 8 回繰り返して、残りの行を自動的に完成させます

    :Vim マクロの再生が完了しました

    推奨読書

    Vim 101 ハック、Ramesh Natarajan 著 .私はコマンドライン中毒です。だから当然、私は Vi と Vim エディターの大ファンです。数年前、Linux で多くの C コードを書いていたとき、利用可能な Vim エディターのヒントとコツをすべて読んでいました。私の Vim エディターの経験に基づいて、Vim エディターで高速かつ生産的になるさまざまな高度な Vim 機能に関する 101 の実用的な例を含む Vim 101 Hacks eBook を作成しました。数年間 Vi および Vim エディタを使用しており、この本をまだ読んでいない場合でも、ぜひこの本を読んでください。 Vim エディターの機能に驚かれることでしょう。

    素晴らしい Vim エディターの記事

    以下は、すばらしい Vi / Vim エディタの チュートリアル です。

    • Vimperator アドオンを使用した Vim エディター機能を備えたターボチャージ Firefox ブラウザー
    • チュートリアル:c.vim プラグインを使用して Vim を C/C++ IDE として作成
    • Vim エディタをあらゆるプログラミング言語用の美しいソース コード ブラウザに変換
    • Vim Editor の 12 の強力な検索と置換の例

    注: The Geek Stuff を購読して、今後の Vi および Vim エディタのヒントとコツをお見逃しなく .


    Linux
    1. GNOME3でスクリーンキャストを録画する方法

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

    3. asciinemaを使用してLinux端末を記録する方法

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

    2. Vim/Viで変更を元に戻したりやり直したりする方法

    3. Vim / Viでファイルを保存し、エディターを終了する方法

    1. Vim / Viでコピー、カット、ペーストする方法

    2. Vim/Viで元に戻す方法とやり直す方法

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