我想知道你是否知道如何让hideshow在新的模式下工作。例如,我有一些无关的代码想要隐藏在R中。使用折叠模式,它可以简单地
(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编写的函数(用{ and }替换区域/endregion上的正则表达式搜索),但没有成功!我想知道对于一个老手来说解决方案是不是显而易见...
非常感谢!
发布于 2009-12-23 07:15:10
您并没有具体说明到底出了什么问题。当我尝试使用您的配置时,我发现(hs-hide-all)调用因参数数量错误而失败,因为hs-forward-sexp有两个参数,但调用时使用了一个参数。
长话短说,我可以让隐藏在文本模式下正常工作(通过上面的更改),将您的初始化修复为:
(add-to-list 'hs-special-modes-alist
'(ess-mode "# {{{" "# }}}" "#[ #]?"
forward-sexp
hs-c-like-adjust-block-beginning))你在第三行有hs-forward-sexp,但你真正想要的只是普通的forward-sexp。
注意:我的测试实际上是在text-mode中进行的,但这不应该影响结果。
https://stackoverflow.com/questions/1384953
复制相似问题