マスター Vim マクロ:コマンドの記録と再生のステップバイステップ ガイド
Vim マクロ機能を使用すると、エディター内で一連のアクションを記録および再生できます。
この記事では、2 つの詳細な例を使用して、Vi および Vim エディター内で記録と再生を実行する方法を説明します。
Vim 内で記録して再生するための高レベルの手順
<オル>例 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 の下部に「録画中」と表示されます。
4. 1 行目を 2 行目にコピーして、 1 が 2 行になるようにします。以下に示すように
入力:Esc yy の後に p
- yy は現在の行をコピーします
- p はコピーした行を貼り付けます
$ vim sequence-test.txt 1. 1.
注: Vim では、以下に示すように、引き続き記録が下部に表示されます。
イチジク :Vim の下部に録音メッセージが表示されます
5.数値を増やします。
タイプ:コントロール
カーソルを 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 に保存します
タイプ:q a
- q は録音の開始を示します
- a は、録音をレジスタ a に保存することを示します
- q a を実行すると、vi の下部にメッセージ録音が表示されます。
3.挿入モードに移動し、「ALTER USER」と入力します
入力:I (大文字の i) に続いて「ALTER USER」
最初の行の任意の場所にカーソルを置き、I を押します。行の最初の文字に移動します。 「ALTER USER」と入力
4.次の単語 (名前など) をコピーします
タイプ:Esc w yw
- Esc キーを押してから w キーを押して、次の単語 ( name ) に移動します。
- yw、現在の単語 ( name ) をコピーします。
5.最後まで進み、「IDENTIFIED BY ‘」と入力します。
タイプ:Esc A に続いて「IDENTIFIED BY 」を入力します。
- Esc キーと A キーを押してカーソルを行末に移動し、スペースを入力します。
- タイプは ' によって識別されます
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 Hacks、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 エディター向けの 12 の強力な検索と置換の例
注: The Geek Stuff を購読して、今後のVi および Vim エディタのヒントとコツをお見逃しなく .
-
Ubuntuで利用可能なディスク容量を確認する[ガイド]
この簡単なガイドでは、UbuntuLinuxで使用可能なディスク容量を確認する方法について説明します。 df コマンドは、Linuxシステムに接続されている各ストレージボリュームで使用されているスペースの量を示します。実行するには、端末で次のコマンドを実行するだけです。 df どの出力: dfコマンド出力 簡単!ただし、一目で読むのは少し難しいです– -h オプションを使用すると、すべてが人間が読める形式になります : df -h どの出力: df-hコマンド出力 ただし、そこには多くのがらくたがあります。 / dev / loopは無視できます。 * squas
-
安全な SSH アクセスに最適な PuTTY 代替手段 10 選
概要 :このチュートリアルでは、SSH クライアントに最適な PuTTY の代替手段 10 個を検討します。 パテ は最も人気があり、広く使用されているSSH の 1 つです。 およびテルネット ユーザーがサーバーなどのリモート デバイスやルーターやスイッチなどのネットワーク デバイスにログインできるようにするクライアント。 これは、リモート接続を簡単に確立できるシンプルで直感的なユーザー インターフェイスを提供する、使いやすい Linux ターミナル エミュレータです。 パテ 当初はWindows OS 向けに開発されました。 しかし、時間の経過とともにLinuxでも利用できるように