Vimのちょっとしたマクロ技。

僕がVimデバッグするときは、

:!!

と、前のコマンド実行をしているんですが、前のコマンドで:「!rm *」なんて事をしていると、ファイルをまるごと消してひどい目にあったりするので、なんか良い手はないかなぁ・・・と思ってたら、「そうだ、マクロがあった!!」

ふふ。便利な技を思いついてしまったので、Vimのマクロをキーボードの記録以外で使ってみようと思う。

マクロの使い方。

マクロの使い方を復習しておこう。

qaiほげほげ<ESC>q

qでマクロ開始。次のaはレジスタ名。なんか打って、qで終了。

@a

@aで、レジスタにa登録しておいたマクロを開始する。

そう、マクロには「レジスタ」を使うのだ。

:reg

で確認してほしい。

ってことは、

ソースにデバッグコードを埋め込んでおいて、マクロ実行すればいい!!

/*
  手抜きcat.c
  :!gcc -o cat cat.c && ./cat < cat.c
 */

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int c;
    while ((c = getchar()) != EOF) {
        putchar(c);
    }
    exit(EXIT_SUCCESS);
}

コメントのスクリプト行で1行コピーしてaレジスタデバッグスクリプトを登録する。

"aY

後は実行するだけ。

@a

ふふ〜ん。快適。

ソースにデバッグコードを埋め込んでおけるので、テストa,テストb,テストc等も登録しておくとステキだと思う。

まとめ

素直にmakeを書いた方がいい(汗