如何在 Vim 中通过外部文件控制折叠?
我一直在寻找一种解决方案,将折叠标记和代码放入外部隐藏文件中。 这样你就可以得到永久的折叠而没有额外的折叠痕迹。
如何在 Vim 中通过外部文件控制折叠?
I have been searching a solution which puts the fold marks and codes to an external hidden file.
This way you could have permanent folds without extra fold signs.
How can you control folds by an external file in Vim?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个非常普遍的问题。 vim 中的“外部文件”到底是什么? 毕竟,Vim 是“外部”文件的集合。 因此,如果我在 vim 文件中定义折叠首选项,这是“外部文件”解决方案吗?
例如,您可以链接定义折叠的正则表达式机制并从外部文件获取它们。
但我想,你的意思是,“我可以定义一个外部文件,这样我就可以通过项目自定义折叠,这样在我给他们我的文件后,每个使用 vim 的人都会有相同的折叠”? 是的,我想你可以通过从上面的方法推断来做到这一点。
但请记住,vim 有几种折叠方法:
......最后,这一切都将归结为你的 vimrc 中的这几个设置。
我的建议:不要更改 vim 的缩进、语法等文件。 通常,您甚至不需要更改这些(除非您使用 vim 不支持的语言,我对此表示怀疑)。 因此,在 vimrc 和 vimfiles 目录中定义您的设置和首选项,然后为您的同事提供他们需要的首选项(通常只是 vimrc 中的首选项)以具有相同的折叠行为。
That's a very general question. What is "an external file" in vim, really ? Vim is, after all, a collection of "external" files. So if I define my folding preferences in my vimfiles, is that "an external file" solution ?
You could link, for example, define regex mechanisms of folding and source them from an external file.
But I think, what you ment is, "can I define an external file, so I can have by project custom folding, so that everyone who uses vim after I give them my files, will have the same folding" ? Yes, I guess you could do that by extrapolating from the method above.
But remember, vim has several methods of folding:
... in the end, it will all come down to those few settings in your vimrc.
My advice: DO NOT CHANGE vim's indenting, syntax, etc. files. Normally, you will not even need to change those (unless you're using a language vim has no support for, which I doubt). So, define your settings and preferences in your vimrc and vimfiles directory, and just give your coleagues preferences which they need (usually just those from vimrc) to have the same folding behaviour.
可以使 Vim 自动记住文件中的折叠
通过将这两行放入 ~/.vimrc au BufWinLeave ?* mkview
au BufWinEnter ?* 静默加载视图
Vim can be made to atuomatically remember folds in a file by putting these two lines in ~/.vimrc
au BufWinLeave ?* mkview
au BufWinEnter ?* silent loadview
使用
手动
方法进行折叠。 这与上面暗示的marker
不同。 使用:mkview
保存折叠并使用:loadview
重新加载它们。Use
manual
method of making folds. This is not the same asmarker
as implied above. Use:mkview
to save folds and:loadview
to reload them.