多级折叠和Search Everything功能来自VIM上的Sublime Text Editor替代品?

时间:2012-09-02 16:51:23

标签: vim sublimetext2

多级折叠可让您通过按热键将所有内容折叠起来。了解您的代码非常有用,例如:http://o7.no/N72vMK

按任意键按Alt + P.这使您可以快速转到任何文件键入其名称的一部分('teshtm'将跳转到'test.html')甚至是文件中的任何函数。

2 个答案:

答案 0 :(得分:3)

我没有太多使用Sublime文本(仅在短时间内尝试过),但只需在Vim中折叠到某个foldlevel即可实现“多级折叠”。

就其他(转到文件)而言,类似地,您可以通过使用gf函数和例如CtrlP插件来实现它。 CtrlP背后的想法源自Mac的Textmate。我个人并没有使用它,但是有些人喜欢这个原则并且发誓...从我所看到的那些对那些喜欢那种导航的人来说非常好。

答案 1 :(得分:3)

多级折叠

使用zMzR关闭并打开当前缓冲区中的所有折叠。这相当于ST2的“Fold all”和“Unfold All”。

使用: set foldlevel=x关闭x级之后的所有内容。当:set fdl=0打开所有内容时,:set fdl=999会关闭所有内容。这相当于“折叠等级x”。

请参阅:help fold.txt:help 'foldlevel'

至于所有内容,如果您认为键入太多,可以为所有这些创建自定义映射。但请注意,您可以使用zmzr来递增和递减foldlevel。

Alt + P(Linux上的Ctrl + P)

我喜欢上面提到的CtrlP,我用它来打开文件,导航缓冲区,导航标签等。它设计得非常好,直观。有些人抱怨大型项目缺乏速度......我的项目相对较小,所以我无法对此发表评论。

与ST2的实现相比,它具有相当大的优势:文件导航不仅限于当前项目。如果在ST2中打开单个文件,则无法使用 Ctrl P (在Linux上)打开附近的文件:您必须打开文件夹或创建项目。或使用常规的“打开文件...”UI。 “去任何地方”在这里有点延伸。

以下是我使用CtrlP的方法:

,ffo<CR> open foo.txt
,bba<CR> jump to buffer bar.txt
,tba<CR> jump to function baz() in curent buffer
,Tfo<CR> jump to function foo() in project

实际上有很多插件会探索同一个想法:Command-TLustyExplorerFuzzyFinder等。在跳转到{pluginname}之前,请务必尝试所有这些插件潮流。

请记住,Vim的默认文件导航本身就很不错::e filename:e fi<Tab>:e *na<Tab> ......