小编noj*_*han的帖子

Vim中文件的一部分快照:隐藏注释和空白行

如何临时显示文件的快照,同时隐藏注释和空白行?

目的是在密集页面格式化中获取C++函数(例如)的捕获.

这样做的方法是使用全局命令过滤掉注释行

:g!/\/\/
Run Code Online (Sandbox Code Playgroud)

但随后语法高亮和移动控件消失.

Vim的折叠功能是一种完成这项工作的方法,但它只会将几个连续的注释减少到视觉上侵入的单行.

无论如何,折叠对于隐藏长C类注释仍然很有用,例如:

:set foldmethod=marker
:set foldmarker=/*,*/
Run Code Online (Sandbox Code Playgroud)

但是我没有设法在一个命令中轻松地折叠C(/ ... /)和C++(// ...)注释.

理想的伎俩是:

  • 隐藏(不只是折叠在一行)评论和空白行,
  • 也许在第一列上标明带有字符的隐藏线,
  • 处理C和C++注释,
  • 同时保留语法高亮,
  • 理想情况下,浏览代码的能力,
  • 允许轻松恢复返回"评论"视图.

以便转换以下代码:

/** Let say hello
* and do not forget anybody
*/
void hello( int arg )
{
  // OMG an hello world!
  std::cout << "hello" << std::endl;

} // where is the world?
Run Code Online (Sandbox Code Playgroud)

进入以下缓冲区:

void hello( int arg )
{
  std::cout << "hello" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

c c++ vim comments

6
推荐指数
1
解决办法
582
查看次数

带有嵌套模板的C ++ typedef不是类,结构或联合类型

我不确定为什么不使用g ++编译以下代码:

t.cpp: In instantiation of ‘Distrib<double>’:
t.cpp:28:56:   instantiated from ‘Sampler<Distrib<Solution<double> > >’
t.cpp:35:48:   instantiated from here
t.cpp:16:45: erreur: ‘double’ is not a class, struct, or union type
t.cpp:18:43: erreur: ‘double’ is not a class, struct, or union type
Run Code Online (Sandbox Code Playgroud)

我期望能够AtomType在嵌套模板之间传播类型……

t.cpp: In instantiation of ‘Distrib<double>’:
t.cpp:28:56:   instantiated from ‘Sampler<Distrib<Solution<double> > >’
t.cpp:35:48:   instantiated from here
t.cpp:16:45: erreur: ‘double’ is not a class, struct, or union type
t.cpp:18:43: erreur: ‘double’ is not a class, struct, or union type
Run Code Online (Sandbox Code Playgroud)

c++ templates typedef typename

5
推荐指数
1
解决办法
2179
查看次数

标签 统计

c++ ×2

c ×1

comments ×1

templates ×1

typedef ×1

typename ×1

vim ×1