如何编写折叠某些模式的函数

时间:2013-06-14 07:29:48

标签: vim folding

您好我正在编码R并希望能够折叠功能 在R I中,代码函数如下:

myFnName <- function(some, args){
    #some description or not
    some code
}

我的问题是如何编写一个函数,即使在函数内部击中某个键时也会自动触发函数。我知道我可以设置fdm=manual但是我必须在100的函数上完成它。

myFnName <- function(some, args){
+----------------

2 个答案:

答案 0 :(得分:1)

indent“无法正常工作”?

syntaxindent都有效,但您的问题可能是两种方法都没有考虑到评论,因此他们不会为您的示例做任何事情(他们只看到一行,所以有没什么可折叠的)。

只要您有多行实际代码,zazMzR和朋友就能完美运作。

另一种值得尝试的方法是marker,使用:set foldmarker={,}可以转为:

myFnName <- function(some, args){
    #some description or not
    some code
}

成:

+--  4 lines : myFnName <- function(some, args)--------

简单za

无论如何,如果你想要更多控制,我推荐这两个vimcast:

答案 1 :(得分:0)

检查是否有插件可以执行此操作。

阅读有关如何为R文件类型编写自定义折叠函数的帮助::h 'foldexpr':h fold-expr

阅读Steve Losh在以艰难的方式学习Vim脚本中自定义折叠的深入教程:"Advanced Folding"