vimのsubstituteコマンドを使用して、タイプ固有のCコードをマクロコードに変換しようとしています。このサンプルスニペット
#define LIST_GEN_FUNCS(TYPE)
struct list_##TYPE* list_generate() {
struct list_##TYPE* ret = malloc(sizeof(struct list));
ret->len = 0; ret->first = 0;
return ret;
}
そのように見える必要があります:
#define LIST_GEN_FUNCS(TYPE)
struct list_##TYPE* list_generate() { \
struct list_##TYPE* ret = malloc(sizeof(struct list)); \
ret->len = 0; ret->first = 0; \
return ret; \
} \
これを行うには、固定行の長さまですべての列を空白で埋め、各行の終わりの後に「\」を追加する方法が必要です。
%s/$/\= submatch(0) . " " . repeat(" ", 78 - LENGTH_OF_LINE)
さて、これが私の問題です。一致した行の長さを取得する方法を見つけることができませんでした。LENGTH_OF_LINEとして何を挿入するか教えてもらえますか?