Vimでコメントを外すよりスマートな方法

Vimでコメントを外すよりスマートな方法

コメントを書く良い方法はキーマッピングだと思います。 Cスタイルコードにコメントを付けるか、コメントを削除する必要があります。ここに私のマッピングがあります。

nnoremap <leader>c 0<insert>//<Esc>                                                                  
nnoremap <leader>' 0xx

2番目はコメント解除のためのもので、カーソルを行の先頭に移動して2回削除します。

ここでif文を書くことができるかどうかを知りたいです。カーソルを行の先頭に移動し、最初の2文字がバックスラッシュであることを確認し、そうであれば2回削除し、そうでなければ何もしません。

ありがとう

答え1

ここでif文を書くことができるかどうかを知りたいです。カーソルを行の先頭に移動し、最初の2文字がバックスラッシュであることを確認し、そうであれば2回削除し、そうでなければ何もしません。

これは確かに可能です。しかし、単純な正規表現を使用すると、はるかに簡単になります。

nnoremap <leader>' :s/^\/\/<cr>

ありがたいことに使用する区切り文字を選択できるため、区切り文字を変更するとスラッシュをエスケープする必要はありません。

nnoremap <leader>' :s;^//<cr>

ちなみに、マクロ内でこれを実行し、最初にコメントがない行で実行すると、マクロは実行されません。もしあなたならいいえこれを行うには、次/eのフラグを追加します。

nnoremap <leader>' :s;^//;;e<cr>

また、スペースの後ろにあるコメント行のコメントを削除するには、次の手順を実行します。

//Remove these comments
    //And these ones too

それから私はこれをします:

nnoremap <leader>' :s;^\s*//<cr>

関連情報