1

私の vimrc には、C コードの領域を下向きにコメントアウトするマッピングがあります。

nmap comc :normal! I//<ESC>

「通常の」ex コマンドは暗黙のうちに「Ncomc」などの入力を「.,.+N-1 comc」に変換するため、多くのキーストロークや通常モードを終了することなく、コメントを下方向に範囲指定できます。ただし、これは vim 範囲でできることの非常に限られたサブセットです。冗長になりたい場合は、次のように上向きのコメントを作成できます。

.,.-5 normal comc 

テキストを編集するときは、「-6comc」のようなものを入力するか、上方範囲を使用する「Comc」のマッピングを作成することをお勧めします。私はそうすることができませんでした。

同様に、範囲操作は、検索パターンに到達するまでコメントをサポートします。たとえば、次のようになります。

.,/int main/ comc

ただし、入力する必要はありません。

4

2 に答える 2

3

要求された動作は通常、:h map-operatorマッピングで行われます。このコメントで 3 行下は に変わりcomc2jますが、3 行上も同様に簡単です: comc2k.

マッピングをまったく変更せずにビジュアル モードを使用することもできますV2kcomc。通常モードでのみ機能するためxnoremap、同一のlhsandを追加する必要があります。(および 使用 しない で ください. )rhsnnoremapnmap

3 番目のオプションは、行を上-に移動{count}してカウントを戻すものへのマッピングです。

nnoremap <expr> - (v:count ? ":\<C-u>\n" . (v:count-1) . 'k' . v:count : '')

. これは、あなたが書いていることを前提として6-comcいます-6comc

// ところで、The NERD Commenterプラグインに関してはお勧めします。

于 2013-07-05T03:49:14.367 に答える
1

プラグインを使用せずに可能な限り使用することは称賛に値しますが、プラグインが最適なオプションである場合もあります。#または(*...でコメントされている言語で作業を開始したら、どうします*)か? これらのコメント文字に新しいマッピングを追加しますか?

ファイルタイプを認識したコメントを行うcommentary.vimをお勧めします。

commentary.vimのデフォルトのコメント演算子は ですgc。モーションと組み合わせて、ビジュアルモードでも使用できます。

ユースケース:

  • N 行 (たとえば 3 行) の下向きにコメントします: :.,.+3normal gccgc3jまたは4gcc

  • 上に 5 行コメントする: :.,.-5normal gcc、または単にgc5k.

  • int main:までコメントするか:.,/int main/-1normal gcc、単に.gc/int mainEnter

于 2013-07-04T21:40:07.507 に答える