使用像缓冲区这样的Vim标签

我已经看过在Vim中使用制表符的能力(使用:tabe:tabnew等)做为我当前在隐藏缓冲区中在同一窗口中打开许多文件的作法的替代。 php

我但愿我打开的每一个不一样文件始终位于其本身的选项卡中。 可是,有些事情会妨碍这一点。 我该如何解决这些问题: vim

  1. gf^]等命令跳转到另外一个文件中的某个位置时,该文件将在当前选项卡的新缓冲区中打开。 有没有办法让全部这些命令在新选项卡中打开文件,或者若是文件已经打开则切换到现有选项卡? 编辑器

  2. 切换缓冲区时,我可使用:b <part of filename><tab>它将完成现有缓冲区中文件的名称。 <part of filename>甚至能够是文件名的中间而不是开头。 是否有相应的切换标签? 函数


#1楼

看看:帮助标签看起来不像vim想要像你那样工做...... 布局

缓冲区在选项卡之间共享,所以彷佛没法锁定给定缓冲区以仅显示在某个选项卡上。 ui

不过,这是一个好主意。 spa

您能够经过使用支持选项卡的终端(如multi-gnome-terminal,而后在每一个终端选项卡中运行vim实例)来得到所需的效果。 不完美,但...... 插件


#2楼

  • 您能够映射一般操做缓冲区的命令来操做选项卡,就像我在.vimrc中使用gf同样: 设计

    map gf :tabe <cfile><CR>

    我相信你能够用[^ code

  • 我不认为vim支持这个标签(还没有)。 我使用gt和gT分别移动到下一个和上一个选项卡。 您也可使用Ngt,其中N是标签号。 我有一个问题是,默认状况下,标签行中没有显示标签号。 为了解决这个问题,我在.vimrc文件的末尾添加了几个函数(我没有在这里粘贴,由于它很长而且格式不正确)。


#3楼

我遇到了一样的问题。 我但愿标签像缓冲区同样工做,我历来没有设法让它们到达。 我最终解决的解决方案是使缓冲区表现得像制表符!

查看名为Mini Buffer Explorer的插件,安装和配置后,您将可以以与标签相同的方式使用缓冲区,而不会丢失任何功能。


#4楼

中止,中止,中止。

这不是Vim的标签设计使用的方式。 事实上,他们的名字很差。 一个更好的名称是“视口”或“布局”,由于这是一个标签 - 它是全部现有缓冲区的不一样窗口布局。

试图将Vim击败到1个标签== 1缓冲区是徒劳的。 Vim不知道或不关心而且它不会在全部命令上尊重它 - 特别是,使用quickfix缓冲区的任何东西( :make:grep:helpgrep是那些让人想到的东西)会很高兴忽略标签,而且没有什么能够阻止的。

代替:

  • :set hidden
    若是您尚未此设置,请执行此操做。 它使vim像地球上的其余多文件编辑器同样工做。 您能够拥有在某个窗口中看不到的已编辑缓冲区。
  • 使用:bn:bp:b # ctrl-6 :b namectrl-6在缓冲区之间切换。 我喜欢ctrl-6本身(单独它切换到之前使用的缓冲区,或#ctrl-6开关到缓冲区编号# )。
  • 使用:ls列出缓冲区,或者像MiniBufExplBufExplorer这样的插件。

#5楼

我使用像Tab这样的缓冲区,使用BufExplorer插件和一些宏:

" CTRL+b opens the buffer list
map <C-b> <esc>:BufExplorer<cr>

" gz in command mode closes the current buffer
map gz :bdelete<cr>

" g[bB] in command mode switch to the next/prev. buffer
map gb :bnext<cr>
map gB :bprev<cr>

使用BufExplorer,顶部没有标签栏,但另外一方面它能够节省屏幕空间,并且能够打开无限数量的文件/缓冲区,缓冲区列表可搜索...

相关文章
相关标签/搜索