以全屏模式查看缓冲区



我在Neovim中使用多个拆分窗口的缓冲区。是否有任何解决方案,我可以在全屏模式下打开缓冲区,并在此之后将其移回分割模式?

你的问题中"缓冲区"、"窗口"和你所说的"全屏模式"之间有一点混淆。

  • 一个"buffer"是Vim的"文档"的精确等效物;在更正常的程序中。它可以隐藏或显示在一个或多个窗口。
  • 一个"window"是进入缓冲区的视图。你总是至少有一个窗口显示一个缓冲区。
  • 标签页"是窗口的集合。您总是至少有一个选项卡页,其中一个窗口显示一个缓冲区。

那么,假设您在一个选项卡页面中,n窗口按照您想要的方式布局…

  • 按下<C-w>T键,当前窗口移动到新的选项卡页。由于窗口是新选项卡页面中唯一的窗口,因此您可以获得"全屏模式",但Vim不记得以前的布局,因此没有简单的方法来重新创建它。

    参见:help ctrl-w_T

  • 可以下发:tab sp命令。当您执行:split时,当前窗口被分成两个,每个窗口显示相同的缓冲区。如果加上:tab,则会创建一个新的选项卡页面,并在该选项卡页面中打开新窗口。因此,:tab split可以理解为"将当前窗口拆分为一个新的选项卡页面"。

    <C-w>T相比的优点是,原始标签页中的原始布局没有改变,因此不需要"向后移动"任何内容。如果你想回到原来的标签页和它的布局,只需切换到原来的标签页与:tabn#和关闭多余的标签页与:tabc#:

    :tab sp
    :tabn# or `g<tab>`
    :tabc#
    

    请注意,如果您只从一个选项卡页面开始,:tabn#/:tabc#舞蹈可以减少到:tabo#

    如果这是您经常需要做的事情,您可能需要创建自定义映射来简化过程:

    nnoremap <key> :tab split<CR>
    nnoremap <otherkey> :tabnext#|tabclose#<CR>
    

    参见:help :split:help :tab:help :tabnext:help :tabclose:help :tabonly

  • 或者你可以找一个第三方插件来抽象这一切。

最新更新