c/c++语言开发共享如何在Vim中自动折叠长C代码?

我经常遇到没有折叠的C代码。 如果没有折叠,特别是对于长文件,阅读它们会很烦人。 我怎么折叠它们?

    根据语法折叠

    :set foldmethod=syntax 

    如果您想手动对要折叠的位进行操作

     :set foldmethod=manual 

    然后通过选择/移动并按下zf来创建新的折叠,例如

     shift-v jj zf 

    (忽略空格)

    编辑:另请参阅此答案的注释,用于缩进和标记foldmethods。

    我想你可能混淆了术语。 你需要“包装”还是“折叠”。 包装是由于它们的长度而通常不适合在屏幕上的线被包裹,即在屏幕上的几个连续线上显示(实际上,它是一行,在几行中 – 很难解释,最好看到实践)。

    在vim包装中设置

     :set wrap 

    把它打开,然后

     :set textwidth=80 

    确定vim应该在哪里包装文本(80个字符通常是一个很好的衡量标准)。

    另一方面,折叠是完全不同的事情。 它是vim将几行代码(例如,一个函数)折叠成一行代码的那个。 它有助于提高代码的可读性。 Vim有几种折叠方法,你可以看到所有这些方法

     :help folding 

    你想要的是,我认为,语法折叠,但我可能是错的。 我建议阅读帮助页面,它不长,而且非常有用。

    我已经推出了C和C ++的折叠插件 。 它超越了语法折叠所做的(可能是它可以改进,我不知道),并且与压痕和基于标记的折叠相比,留下更少的噪音并且没有真正有用的东西展开。

    需要注意的是:为了获得不错的反应时间,我不得不进行一些简化,有时候结果非常混乱(我们必须输入zx来修复它)。

    这是一个小小的截屏video,看看该插件如何折叠正确平衡的C ++源代码,目前尚未被修改:(

    如何在Vim中自动折叠长C代码?

    在vi(而不是vim)中,答案是:

     :set wm=1 

    这会将换行边距设置为行尾之前的一个字符。 这不是具有可变尺寸窗户的世界上最好的规格(当难以改变尺寸时,绿色屏幕是有意义的)。

    这意味着在vim中还有另一种方法可以做到这一点:

     :set textwidth=30 

    请参阅: VimDoc用户手册第25.1节

    你可能想要这个设置

     :set foldmethod=syntax 

    但是不要手动把它! 多数人错过了其中一个Vims最大的function,即已经内置了数百种文件类型的自定义设置。 为此,将其添加到〜/ .vimrc中

     filetype plugin on filetype indent on 

    文件类型检测主要基于扩展名,在本例中为* .c文件。 有关详细信息,请参阅:help:filetype。 您还可以自定义这些基于文件类型的设置。

    实际上,还有另一种非常直接有效的方法,即使用foldmethod = marker并将foldmarker设置为{,} 。 然后折叠结果如下:

    如何在Vim中自动折叠长C代码?

    如何在Vim中自动折叠长C代码?

    另外,要通过语法进行折叠需要一些额外的工作,这里有一个很好的教程 。 但我认为用marker={,}折叠是足够的,最重要的是,它简单而整洁。

      以上就是c/c++开发分享如何在Vim中自动折叠长C代码?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/559594.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐