Vim:隐藏所选代码周围的所有代码

时间:2014-10-28 12:36:44

标签: vim macvim

我希望能够隐藏我正在使用的特定代码段的所有代码。现在我想知道这是否可能以某种方式在Vim。我已经尝试了一下,并通过使用高亮组Igore成功地隐藏了我选择之上和之下的线条。这使我只能看到我想要关注的行,但问题是当我开始编辑代码并添加或删除行时。当我添加一行或删除一行时,已经设置的高亮组Ignore仍然保持设置的行号,所以我要么看到一些隐藏的代码或者我想要看到的一些代码变长并延伸到隐藏行号。所以我想知道是否有办法解决这个或任何其他方式来完成我想要的Vim?

感谢任何建议!

2 个答案:

答案 0 :(得分:3)

隐藏或着色部分缓冲区不是Vim方式。 折叠是最接近的内置功能。使用:set foldmethod=manual,您可以使用zf:fold隐藏上方和下方的部分。

对于插件解决方案,请查看NrrwRgn - A Narrow Region Plugin。它允许您在单独的暂存缓冲区中编辑缓冲区的各个部分,并自动同步。

答案 1 :(得分:1)

要隐藏一系列行(假设从1到10和20结束,您可以输入:1,10fo|20,$fo

从那里,您可以根据当前光标位置-10 / + 10

创建一个功能

请注意,您首先要:set foldmethod=manual才能使其正常运行。

编辑:一个简单的解决方案::1,.-10fo|.+10,$fo