vim>&燃气轮机;旋转目标分割中打开的所有缓冲区
我习惯于IDE样式的选项卡面板,在尝试使用缓冲区和拆分复制此功能时,我使用vim遇到了一些arggghh诱导的场景 我有以下相关的.vimrc设置:vim>&燃气轮机;旋转目标分割中打开的所有缓冲区,vim,split,rotation,buffer,hidden,Vim,Split,Rotation,Buffer,Hidden,我习惯于IDE样式的选项卡面板,在尝试使用缓冲区和拆分复制此功能时,我使用vim遇到了一些arggghh诱导的场景 我有以下相关的.vimrc设置: set hidden set switchbuf=useopen,usetab 现在,假设我打开4个缓冲区,先垂直拆分,然后水平拆分,这样1个缓冲区显示在左侧,2个缓冲区显示在右侧。第四个缓冲区被隐藏(在左侧分割处打开) 光标位于左分割时,使用:bnext和:bprevious在左分割中的所有缓冲区中旋转;这是不可取的,因为我真的不需要在两个不同
set hidden
set switchbuf=useopen,usetab
现在,假设我打开4个缓冲区,先垂直拆分,然后水平拆分,这样1个缓冲区显示在左侧,2个缓冲区显示在右侧。第四个缓冲区被隐藏(在左侧分割处打开)
光标位于左分割时,使用:bnext和:bprevious在左分割中的所有缓冲区中旋转;这是不可取的,因为我真的不需要在两个不同的分区中看到相同的文件内容(有没有办法选择vim克隆缓冲区影响?)。使用:sbnext和:sbprevious对可见缓冲区非常有效,但一旦遇到隐藏缓冲区,它就会以新的拆分方式打开,从而对我的布局造成严重破坏。使用10+缓冲区时,问题会变得更严重
理想情况下,我希望在给定的分割(即缓冲区打开的位置)内旋转所有可见和隐藏的缓冲区
欢迎提出建议
p、 我现在正在尝试VimCtrl空间插件,非常好,但并没有解决上述问题
谢谢当您可以通过
:buffer
命令直接转到所需的缓冲区时,为什么要旋转缓冲区
:b foo
:b
获取缓冲区编号或部分文件名(也包含globs!)。我建议使用部分文件名方法。您还可以使用制表符完成来区分不明确的部分文件名
您可以使用相同的方法使用:sbuffer
(:sb
),但可以打开拆分
有关更多帮助,请参阅:
:h :b
:h :sb
基本导航单元是缓冲区。Windows和tab页是建立在缓冲区之上的抽象,这些缓冲区引入了它们自己的好特性和坏特性,并且在大多数情况下,不能很好地使用传统的缓冲区 您遇到了问题,因为您试图将缓冲区命令应用于以窗口为中心的工作流 一旦将工作区拆分为多个窗口,您就必须使用窗口命令进行导航,而一旦使用选项卡页面,选项卡导航就成为您的标准。正如您所注意到的,不仅很难(不可能,AFAIK)使缓冲区导航窗口/选项卡感知,而且替代技术实际上在功能方面也有相当大的不足 第四个缓冲区被隐藏(在左侧分割处打开) 这是您的第一个问题:第四个缓冲区是隐藏的,因此是暂时的。它不会在任何窗口中打开,并且可以在任何窗口中显示。您可以选择在特定窗口中显示特定缓冲区,但不能将其真正“固定”到该窗口 光标位于左分割时,使用:bnext和:bprevious在左分割中的所有缓冲区中旋转;这是不可取的,因为我真的不需要在两个不同的分区中看到相同的文件内容(有没有办法选择vim克隆缓冲区影响?) 同样,您使用的缓冲区命令根本不关心窗口和选项卡页 使用:sbnext和:sbprevious对可见缓冲区非常有效,但一旦遇到隐藏缓冲区,它就会以新的拆分方式打开,从而对我的布局造成严重破坏 同样,这项工作的工具是错误的 尽管可以保留尽可能多的窗口本地参数列表,并将这些列表与
:next
和:previous
一起使用,但这需要相当多的关注和前瞻性。也许有一个插件?无论如何:
:vs|sp
<C-w>w
<C-w>w
:arglocal ccc.txt ddd.txt
<C-w>w
:arglocal eee.txt fff.txt
w
:arglocal ccc.txt ddd.txt
W
:arglocal eee.txt fff.txt
:next
和:previous
切换参数或
切换到备用文件<>你应该考虑使用VIM,尽量不要使用直接缓冲区。 我正在使用,而且它对我的工作流非常有效。我习惯于在同一个窗口中打开许多缓冲区。有了这个插件,我可以轻松地管理所有这些。我也在使用,这两个插件一起工作非常好。好了,就这样。我希望这有帮助 当然,这是可行的。使用IDE中的20个选项卡,所有选项卡都是可见的,因此无需切换到灰色上下文即可查询需要编辑的文件的名称,您只需知道其在面板X的选项卡栏中的位置,或通过热键旋转打开的文件(打开文件的位置)。必须是vim的方式,处理文件名,更喜欢通过缓冲区直观地旋转,缓冲区的内容表示文件的内容(不是它的名称)。我明白你的意思,但我使用许多打开的缓冲区(有时超过100个)。使用标签根本不适合我。相反,我使用了
:b
、ctags/cscope、大写字母标记、:vimgrep
/:grep
/:Ggrep
/:Ack'
和
。我还敢打赌,通过20个标签旋转是相当不方便的。由于您是根据文件的内容查找文件,我建议将ctags/cscope和:vimgrep
作为良好的起点。然而,如果你被束缚并决定在缓冲区中旋转,那么我建议你将:bn
和:bp
映射到我已经映射过的一些方便的东西:bn,:bp,缺少的是可预测性。不幸的是,拆分带来了IDE样式选项卡式布局的错觉,同时提供了完全不同的东西。编辑是维姆的最爱
<C-w>w
:arglocal ccc.txt ddd.txt
<C-w>w
:arglocal eee.txt fff.txt