显示VIM中每个功能的行号

时间:2013-02-08 10:34:05

标签: vim vi

例如,考虑我有一个包含两个函数的简单程序。因此,如果我设置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 个答案:

答案 0 :(得分:0)

我认为没有本地方法可以做到这一点。

如果适合您的使用案例,您可以尝试使用:set rnu(或长格式:set relativenumber)。

答案 1 :(得分:0)

没有。这不可能。此外,如果可能,我怀疑它会计算括号。

这样的功能有什么意义?

答案 2 :(得分:0)

不,没有。但你可能误用标志栏来得到这样的东西。 Chip博士RltvNmbr plugin用符号重新实现'relativenumber'功能。您可以利用他的一些实现,但它仍然是一项重要的实施工作。

答案 3 :(得分:0)

你应该考虑折叠。

:help folds

您的示例使用折叠看起来像这样:

Example of vim folds