2009-09-06 81 views
2

我不知道你是否知道如何使用新模式获得隐藏演示工作。举例来说,我有一些多余的代码,我想隐藏与R.随着折叠模式可以简单地emacs:添加模式隐藏显示alist

(load "folding" 'nomessage 'noerror) 
(folding-add-to-marks-list 'ess-mode "# {{{" "# }}}" nil t) 
(add-hook 'ess-mode-hook 'turn-on-folding-mode) 

我以为隐藏显示相当于将

(add-to-list 'hs-special-modes-alist 
     '(ess-mode "# {{{" "# }}}" "#[ #]?" 
      hs-forward-sexp 
      hs-c-like-adjust-block-beginning 
      )) 
(add-hook 'ess-mode-hook '(lambda() 
       (hs-minor-mode 1) 
       (hs-hide-all) 
       (custom-set-variables 
       (hs-hide-comments-when-hiding-all 0) 
       ) 
)) 

,但我认为有一些魔术在hs-forward-sexp中,我不知道如何弄清楚?

我试着改写为c-sharp编写的函数(用{{{和}}}替换区域/区域上的正则表达式搜索,但没有运气!我不知道这个解决方案对于那些有经验的老手是否显而易见......

非常感谢!

回答

4

您没有指定实际出错的地方。当我尝试使用您的配置时,我发现(hs-hide-all)调用失败,参数数量错误,因为hs-forward-sexp需要两个参数,但被一个参数调用。

长话短说,我可以得到隐藏正确的文本模式下运行(与你上面有变化)固定后您的初始化是:

(add-to-list 'hs-special-modes-alist 
      '(ess-mode "# {{{" "# }}}" "#[ #]?" 
         forward-sexp 
         hs-c-like-adjust-block-beginning)) 

你有3号线hs-forward-sexp,但你真正想要的只是普通的forward-sexp

说明:我的测试实际上是在text-mode,但这不应该影响结果。

+0

我看,不知道前瞻性。谢谢Trey! – hatmatrix