有没有一种简单的方法将Vim中相邻的标签移动到当前窗口作为拆分窗口?
在查找时,我看到了一个邮件列表讨论,其中有人说这是Ctrl+W,T操作的反向,但并未提供解决方案。
在查找时,我看到了一个邮件列表讨论,其中有人说这是Ctrl+W,T操作的反向,但并未提供解决方案。
问题在于您的问题是一个标签与特定缓冲区无关联。在一个选项卡中,您可以有10个窗口并拥有许多缓冲区,因此"将选项卡移入分割"没有太多意义。
更有意义的做法是“在分屏中显示缓冲区x”,可以通过以下方式完成
:sb <name_of_buffer>
~/.vim/plugin
并将文件Tabmerge.vim
下载到该文件夹中。然后,当你有两个标签页并且输入以下内容时::Tabmerge
function MoveToPrevTab()
"there is only one window
if tabpagenr('$') == 1 && winnr('$') == 1
return
endif
"preparing new window
let l:tab_nr = tabpagenr('$')
let l:cur_buf = bufnr('%')
if tabpagenr() != 1
close!
if l:tab_nr == tabpagenr('$')
tabprev
endif
sp
else
close!
exe "0tabnew"
endif
"opening current buffer in new window
exe "b".l:cur_buf
endfunc
并且
function MoveToNextTab()
"there is only one window
if tabpagenr('$') == 1 && winnr('$') == 1
return
endif
"preparing new window
let l:tab_nr = tabpagenr('$')
let l:cur_buf = bufnr('%')
if tabpagenr() < tab_nr
close!
if l:tab_nr == tabpagenr('$')
tabnext
endif
sp
else
close!
tabnew
endif
"opening current buffer in new window
exe "b".l:cur_buf
endfunc
mt
和mT
,因为这与我用于导航选项卡的gt
和gT
一致。此外,我使用了该页面中显示的垂直分割替代方案(vert topleft split
而不是sp
)。 - Sebastián Grignoli
MRU
允许我在当前窗口或新标签页中打开页面(没有拆分键)。 - mhitza:sb
开始,你可以通过制表符浏览所有已打开的缓冲区,而无需输入它们的路径和文件名! - James M. Lay:vert sb <buffer_name>
命令来进行垂直分割。 - Tariq C