とりあえず日記

VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ(いまここ🍄)

「"" → " → "" → "」とトグルするマクロを書いてみた。

プログラムを書いていると"を入力するときは大抵文字列の入力なので"を入力すると""になるマクロを書いてみた。

/* 「"" → " → "" → " → 」とトグルするマクロ。
秀丸 ver8以降で動作。
*/
$g_value_name = "key_double_quotation";

if(replay){
	#cnt = val(getstaticvariable($g_value_name,0));
	#cnt = #cnt + 1;
	undo;
}else{
	#cnt = 0;
}

if(2 <= #cnt){
	#cnt = 0;
}

if(0==#cnt){
	begingroupundo;
	insert("\"\"");
	left;//カーソルを""の間に移動する。
	endgroupundo;
}else{
	insert("\"");
}

setstaticvariable $g_value_name,str(#cnt),0;

このマクロは連続実行されたかどうかで処理を分岐しているので実行する度に「"" → " → "" → "」 とトグルします。

マクロを「"キー」に割り当てすることは出来ないので、自分は「Ctrl-2」に割り当てました。
1日使ってみたところ素直にキーを2回押した方がいいように思えます。