繁体   English   中英

gvim:转到具有多个窗口和多个选项卡的特定文件

[英]gvim: go to a specific file with multiple windows and multiple tabs open

我正在将编辑器从gedit转移到gvim。 在gedit中,当我打开多个gedit窗口(每个窗口都有多个选项卡)时,我可以单击“文档”,该窗口将列出所有选项卡和打开的窗口中的所有文件,并且可以从列表中单击以转到其中任何一个。

我该如何在gvim中做到这一点? gvim中的“缓冲区”按钮仅列出在当前窗口中打开的文件。

谢谢!

GVim是一个单窗口程序。 如果您有两个GUI窗口,那么您有两个单独的GVim进程,它们实际上并不能相互通信。

从“普通”编辑器切换到Vim并不是一件容易的事:您必须适应Vim的思维方式才能成功切换。

Vim的“窗口”和“选项卡”命名不当,在新用户中造成了很大的混乱。

在“普通”编辑器中,选项卡(或没有选项卡的GUI窗口)是文件的1:1表示,GUI窗口是选项卡/文件的集合。 该系统具有确定性:只要您不关闭它,就可以将第一个窗口等同于Controlers/ ,将第二个窗口等同于Models/User.php ,依此类推。 因为该“常规”编辑器是一个多窗口程序,并且所有这些选项卡和窗口都是一个进程的子级,所以主进程很容易提供其所有窗口和选项卡的列表。

在GVim中,两个GUI窗口由两个单独的进程创建:不知道GUI窗口#2的GUI窗口#1。 此外,Vim的“窗口”和“选项卡”概念根本不是确定性的。 “窗口”仅是缓冲区的视图,该缓冲区可以是内存中当前的任何缓冲区。 “选项卡”是窗口的集合,其名称会自动设置为当前显示在活动“窗口”中的缓冲区。 在极端情况下,最终可能会在y选项卡的x窗口中显示相同的缓冲区。

因此,由于GVim的设计,我认为没有大量的工作来模仿Gedit的行为是不可能的。

因为太容易了,特别是对于新用户而言,要混合他们的“缓冲区”,“窗口”和“选项卡”,所以我建议您至少暂时不要使用“选项卡”,并学会使用“缓冲区”和“窗口”发挥最大作用。

Vim的默认行为是要求您保存当前缓冲区,然后在当前窗口中将其替换为另一个缓冲区。 我认为这就是为什么许多人转向在Vim中使用选项卡的原因。 set hiddenset switchbuf=useopen解决此“问题”,并允许您在同一窗口中打开许多缓冲区。 使用本地工具:: :sb <tab>切换缓冲区非常简单,而使用CtrlP其他第三方工具则可以轻松切换缓冲区。 如果您习惯在不同的窗口中使用项目的不同部分(例如,一个用于Controlers/ ,一个用于Models/ ,一个用于Views/ ,或者一个用于后端,一个用于前端),则可以使用Vim的选项卡那。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM