【发布时间】:2011-04-09 07:11:36
【问题描述】:
如何从文件中导出 vim 折叠,以便将其转移到另一台机器上?
例如,假设我在文件中创建折叠并将其保存在本地计算机上 - “折叠”元数据在哪里?我可以将其复制到另一台机器上,还是必须再次手动重新创建折叠?
编辑:嗯,我注意到这可能是一个重复的问题,但仍然没有关于如何在不修改源文件的情况下保存折叠信息的答案。
谢谢
【问题讨论】:
如何从文件中导出 vim 折叠,以便将其转移到另一台机器上?
例如,假设我在文件中创建折叠并将其保存在本地计算机上 - “折叠”元数据在哪里?我可以将其复制到另一台机器上,还是必须再次手动重新创建折叠?
编辑:嗯,我注意到这可能是一个重复的问题,但仍然没有关于如何在不修改源文件的情况下保存折叠信息的答案。
谢谢
【问题讨论】:
使用:mksession 命令保存您的会话,并使用vim -S Session.vim 恢复它。会话文件将恢复几乎所有内容,包括折叠(尽管对文件的更改会搞砸)。
如果您必须使用手动折叠,这很有效,但使用其中一种自动折叠方法确实容易得多 - 调查 indent、syntax 和 expr,并寻找完全支持折叠的语法文件.
【讨论】:
:source Session.vim 一次。 (我通常在晚上使用:mks ~/properties.vim,如果我正在处理属性系统,则使用:so ~/properties.vim;一个方便记住我在做什么的名字......)
好的,我已经找到了一种相对轻松的方法。但是,这确实需要对源文件进行一些更改。
首先,将折叠标记设置为java风格/**注释**/标记:
:set foldmethod=marker
:set foldmarker=/\*\*,\*\*/
然后在我想要折叠的任何时候在我的源中输入:
/** This is the title of the section */
Some stuff goes here blah
...
//the line below "ends" the fold by double star
/* **/
这会像我预期的那样产生折叠,并且比“动态”或视觉折叠更容易处理。
【讨论】: