0

たとえば、2 つの関数を持つ単純なプログラムがあるとします。したがって、nuコマンドを設定すると、次のような出力が得られます

1 #include <stdio.h>
2
3 int main ()
4 {
5      printf ("main");
6      return 0;
7 }
8 int func_a()
9 {
10     printf("func_a");
11     return 0;
12 }
13 int func_b()
14 {
15     printf("func_b");
16     return 0;
17 }

次の表示が得られるように VI にコマンドはありますか。つまり、合計行数 + 関数ごとの行数が表示されます。

  1 #include <stdio.h>
  2
  3  int main ()
  4 1 {
  5 2     printf("main");
  6 3     return 0;
  7 4 }
  8  int func_a()
  9 1 {
 10 2     printf("func_a");
 11 3     return 0;
 12 4 }
 13  int func_b()
 14 1 {
 15 2     printf("func_b");
 16 3     return 0;
 17 4 }
4

4 に答える 4

0

折りたたみを検討する必要があります。

:help folds

折りたたみを使用した例は次のようになります。

vim の折り畳みの例

于 2013-02-16T18:53:07.373 に答える
0

それを行うためのネイティブな方法はないと思います。

ユースケースに適している場合:set rnuは、(または長い形式で)試すことができます。:set relativenumber

于 2013-02-08T10:48:25.143 に答える
0

いいえ、できません。また、可能であれば、中括弧を数えるとは思えません。

そのような機能のポイントは何ですか?

于 2013-02-08T10:48:36.107 に答える
0

いいえ、ありません。しかし、 sign 列を誤って使用すると、このような結果が得られる可能性があります。Dr. Chip のRltvNmbr プラグイン'relativenumber'は、記号を使用して機能を再実装します。彼の実装の一部を活用できるかもしれませんが、それでも実装には大きな労力が必要です。

于 2013-02-08T11:07:59.630 に答える