我现在用 evil 的折叠(其实背后也是 hideshow),不足的地方自己稍微改一改,够应付常见的语言。不仅可以折叠方法,还可以折叠块(ifelse 等等),使用很灵活,效率也没有问题。
最常用的方法是 hs-hide-level
,即按当前光标位置的 level 折叠所有相邻的结构。
当我想看整个文件的大纲:
class Foo {
function bar () {...}
function quux () {...}
}
当我想总览某个比较复杂的函数实现:
function bar () {
if (cond) {...}
else {...}
}