if文と対応するendifキーワードをコメントアウトする

if文と対応するendifキーワードをコメントアウトする

vim では、一致するifステートメントを見つけて、適切なコメント記号を先頭に追加できます。(例: %s/。警報。/#\0/g) ですが、手動で見つけなければならないぶら下がり部分が残ってしまいますendif。マクロを使用してプロセスを簡略化することはできますが、(より具体的には vim で) これを実現できるでしょうかsed?

答え1

単純な正規表現の問題は、ネストされた条件文を扱うことです。次の条件文を検索しendifてコメントアウトするだけでは不十分です。幸いにも、マッチイットVim に付属するプラグインはこの問題を解決しています (多くのファイルタイプに対して)。 のときif%マッピングによって対応する に移動しますendif

これを次のようなプラグインと組み合わせるとNERDコメンテーター、そのためのマッピングを簡単に構築できます。

:nmap <Leader>cif <Leader>cc%<Leader>cc

関連情報