我该如何在VIM中分享我的文件夹?

8
我在一个由3个人组成的项目中。我们需要在每个成员的Vim中拥有相同的折叠。我该如何分享我的折叠? [反馈] 我了解到一件重要的事情:Google忽略符号,比如{{{},所以请在Google中搜索“VIM三个大括号”以获取关于标记方法的帮助。这样就可以更轻松地练习,因为您可以快速找到相关信息。
为了使用Adam Bellaire建议的标记方法,请注意你必须设置该方法。
:set foldmethod=marker

感谢您的回答!
4个回答

18

可能最简单的方法就是使用折叠标记(例如{{{1),并确保在文件中包含vim:fdm=marker设置。例如,下面是一个包含折叠标记设置和两个层次的文件示例:

#/bin/sh
# vim:fdm=marker
echo This file contains fold markers.

#Top Level Fold     {{{1
echo This is a top-level fold.

#Second Level Fold  {{{2
echo This is a second-level fold.

在vim中打开这个文件将显示前四行和一个折叠标记,如果展开它将显示第二个折叠标记。请确保在你的注释语法与vim:fdm=marker之间放置一个空格,否则vim将无法识别它。例如,在C语言中,你可以使用:

// vim:fdm=marker

1
改变生活。嗯,你知道并不是真的,但仍然非常有用。我已经断断续续地使用 Vim 大约 6 年了,但我简直不敢相信我现在才发现这个。 - atomicules

5

文件中的折叠?

同样的设置应该会得到相同的折叠。

Vim可以通过手动、缩进、表达式、语法和标记(默认情况下,我认为是弯曲的括号,其中有3个)等多种方式进行折叠。

所以如果你们使用的是相同版本的Vim,并且他们没有更改其语法和缩进文件,让他们检查你的vimrc文件中的foldmethod和foldmarker选项,并将它们复制到他们的vimrc文件中。这样应该就可以了。


你可以在文件中添加vim标记,以针对所有Vim(除非已禁用此类自动加载)在每个文件的基础上调整选项。 - strager
陌生人:是的,你说得对。他可以添加{{{和}}},但为了确保它能正常工作,我建议在这些文件中添加一个模型行:"vim:fdm=marker",这样他就有自主文件了。(如果他不更改标记默认值,但他也可以添加) - Rook

2

我以前从未与他人共享过VIM折叠,但如果您正在同一台机器上工作,可以使用VIM会话,它将保存您当前的状态(包括折叠)。在VIM中运行以下命令:

 mks! /path/to/session_file

然后你的朋友可以加载会话文件:
vim -s /path/to/session_file

0

虽然这已经是古老的历史了,但自从“09年起出现的vim版本以来,由于我还没有足够的声望进行评论,所以我们继续。

好消息是,为文件保存视图也应该保存手动折叠,甚至嵌套折叠。

坏消息是,在vim 7.0(RHEL 5.5)下,我发现它不能产生一致的结果。这可能在随后的更新中得到修复,遗憾的是,我们不允许安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接