只有当我真的需要并排存在两个文件时(因为一个用作参考,通常是HTML-CSS),我才使用splits。否则,我只使用在单个窗口中加载的常规缓冲区。我也不使用nerdtree或任何会占用太多空间的东西。
我尽量避免在文件之间导航:标签是一个更好的方法。
我的vim几乎总是一个很大的灰色矩形。
编辑
多的“东西”的工作一直是处理困难的问题。当我们试图在同一时间和同一空间中处理许多这些“事物”时更是如此。这是一个很难的问题,因为我们无法同时处理几件事情:我们的头脑并没有为此而优化。这就是为什么记忆游戏并不像看起来那么容易,为什么我们不记得在Powerpoint幻灯片充满了列表和图表之后记不住狗屎,以及为什么人们一方面用手机和另一方面的驱动轮死亡。
因为我们不能在同一时间4个缓冲工作,分割窗口应保留到实际的工作在一个窗口中完成,用于参考(文档,HTML文档时,其他窗口的情况下做CSS ......)或反馈(linting,计算结果...)。在这样的设置中,身体切换到另一个窗口的唯一部分就是我们的眼睛:我们不需要键盘快捷键或鼠标。
但是,我们喜欢让我们的生活比必要的更复杂。我们喜欢把自己想象成多任务的神,所以我们分开了窗户,我们把窗户放在窗户的窗户中,我们必须找到管理所有这些混乱的脆弱黑客。由于各种原因,键盘快捷键不是有效的解决方案,我们讨厌鼠标,对吗?
无论如何,分割窗口的基本问题与常规缓冲区和标签相同:为了在缓冲区#3上工作,我们必须切换到缓冲区#3。无论是缓冲区#3是隐藏的,显示在右上窗口还是在另一个选项卡中都是不相关的,我们必须按几个键才能看到它。当目标缓冲区被隐藏时,我们做:b3
来显示它。当它在右上角的窗口中时,我们使用<C-w>…
映射,默认或自定义。当它在另一个标签中时,我们倾向于做gt
,直到我们找到它(或者:sb3
这更聪明)。无论我们选择何种空间设置,我们仍然需要切换到目标。
一个只涉及你所使用的布局类型的问题是,你必须思考和移动两个维度。从左下方的窗口跳到右上方的窗口并不是真正的线性(除非您使用<C-w>w
),并且需要更多的思考和打字,而不是简单地查看该窗口。
另一个问题是工作空间是如何分割的,以及它对可以处理的缓冲区数量和窗口大小的影响。
总而言之,我的观点是,处理多个缓冲区的最佳方法是单独保留窗口和选项卡并找到一个更精简的工作流程。
常规缓冲区也很棘手:你可以有一个1,2,5,7
列表的方式很奇怪。但我相信缓冲切换(与窗口切换相反)基本上更直观,更坚实。
:bn "show next buffer in the list
:bp "show previous buffer in the list
:b3 "show buffer #3
:bf "show first buffer in the list
:bl "show last buffer in the list
:b <tab> "select buffer from a menu
:b fo<Tab> "select buffer from a menu
:b foo "show buffer named foo
下映射使开关缓冲一块蛋糕,但你也可以尝试使用一些缓冲切换插件可用。
nnoremap gb :buffers<CR>:b<Space>
虽然我的首选导航方法不是基于缓冲区的。现在,我发现它实际上更容易忘记项目的文件结构全部在一起并使用标签。当我浏览时,我会转向特定的类或特定的方法或特定的数组或任何其他内容。我的工作区只有一个窗口,显示15个或20个缓冲区中的1个,并且我没有NERDTree,没有选项卡,没有MiniBufExplorer,没有TagList ...因为切换到另一个缓冲区至少需要几次按键,我没有看到任何有效的原因用于切割和切割我的工作区。因为我没有把自己置于一个过于复杂的gyzmos的角落,所以我不必浪费我宝贵的时间寻找变通办法解决方法,我可以放心地嘲笑最新的一组图像宏。等等,我的意思是“工作”。
'Ctrl' +''w' ='(或'^ W =')将使或多或少均等地分配分裂。你能否让你的问题更具体 - 你究竟在寻找什么? – guessimtoolate
我正在寻找一种方法,在每次打开/关闭一个小分组时都不会弄乱我的分割大小,或者根据缓冲区大小轻松调整大小。另一件事可能是一个插件或任何使重新排序更容易的事情。 – imslavko