为什么在编程时使用g(vim)中的制表符?

时间:2011-04-04 00:04:30

标签: vim tabs

Using vim's tabs like buffers中:

  

这不是vim标签的方式   旨在使用。事实上,他们是   名不副实。一个更好的名字   “视口”或“布局”,因为那是   标签是什么 - 它是一个不同的   所有你的窗户的布局   现有的缓冲区。

如果vim中的每个选项卡只是所有现有缓冲区的不同布局(所以在每个选项卡中执行:ls,显示相同的列表),vim中是否存在选项卡无用?如果我可以使用插件来处理像minibufexplorer这样的缓冲区,为什么选项卡存在?如果仅在该选项卡上执行:ls(在某种程度上像“工作区”功能),至少应该显示在选项卡中打开的缓冲区吗?

我认为打开了多个包含不同文件的选项卡,但是当在选项卡上执行:bn时,它会转到所有打开的缓冲区,这会变得一团糟。有些人喜欢在开发时为问题的每个“域”打开不同的选项卡,但是对我而言,如果可能to have a different buffer list for each tab in Vim,那将非常有用。

(我已经搜索了很多,并且找不到WHY标签存在,只是“停止使用vim中的标签,比如其他编辑器中的标签,而是使用缓冲区”,那么为什么vim中的标签被实现了?这就是为什么我不要认为这个问题是重复的)

总结......你对这个主题感觉如何 - 编程时Vim中标签的用处是什么?你是如何使用它的?

3 个答案:

答案 0 :(得分:2)

我经常使用标签,并使用标签对文件进行逻辑分组。

例如,我将在一个选项卡中打开视图或HTML,在另一个选项卡中打开视图或HTML,另一个具有关联的模型。然后我将使用:mksession!保存布局,稍后使用-S标记重新加载。

其他时候我会使用标签来保持vim的一个帮助页面打开,以便立即可用。

我认为最重要的是标签允许你以不同于使用拆分窗口的方式组织缓冲区,这种灵活性允许vim与更多人的大脑一起工作,因为我们都有不同的想法。

对相关问题的回答可能有所帮助:Using Vim's tabs like buffers

我通常使用-O标志在拆分窗口中打开文件,但如果您坚持在单独的标签中打开它们,则可以使用-p。我更喜欢分割,因为我可以轻松地看到两个单独的文件,这是你无法用标签做的。

最后,这里有一些关键的defs用于在分割之间轻松移动:

" Switch between window splits using big J or K and expand the split to its
" full size.
"
" Move vertically in the window through the horizontal splits...
map <C-J> <C-w>j<C-w>_
map <C-K> <C-w>k<C-w>_

" Move horizontally in the window through the vertical splits...
map <C-H> <C-w>h<C-w>\|
map <C-L> <C-w>l<C-w>\|

答案 1 :(得分:2)

每个标签都有自己的工作目录,这使得分组和处理类似的文件组更加方便。

此外,直接来自:help tabpage

Tabs are also a nice way to edit a buffer temporarily without changing 
the current window layout.  Open a new tab page, do whatever you want
to do and close the tab page.

答案 2 :(得分:1)

我通常在当前视图尽可能分割时使用制表符,同时仍允许我有效地阅读和编程。大部分时间它都在那里,以便我可以快速访问该文件的信息(通常是某种包含文件)。

我很少使用制表符进行实际开发,而是使用占位符来获取偶尔要查看的信息。

我很正常

Tab0 - &gt;源文件和测试文件
Tab1 - &gt;包含文件,有时还包含相关的接口文件