我有很多级别的文件夹的大型项目。某些文件的名称相同,并且根据文件夹名称的不同,它们的功能也有所不同。例如
/admin/action1.php
/action1.php
第一个是指管理任务,第二个是由用户访问。
Vim 很快就会被标签和缓冲区弄得乱七八糟,并且很难移动。
我正在使用的插件是:
Nerd 树
控制键
迷你Buff浏览器
我在 Windows 上使用 gVim 并且像 YouCompleteMe 这样的插件不是一个选项。
正如您在图片上看到的那样,有许多选项卡可以记住女巫标签对应于代码的女巫部分。 MiniBuffExplorer 没有太大帮助。
所以我的问题是,你将如何在 VIM 中处理大型项目,以便最好按照它们的功能或代码部分来组织事物。有没有干净的方法来做到这一点?
有没有办法对缓冲区或选项卡进行分组,例如:
Migrations
Seeds
Admin Controllers
Admin Views
Config
最佳答案
我不认为这些工具有问题,在这里。更重要的是你如何使用它们。
Migrations
Seeds
...
设想。
这是创建“迁移”选项卡的一种可能方法:
:tabnew | lcd path/to/Migration
从那里,您在该选项卡中创建的所有窗口都将继承
Migration
工作目录和每个 :e
, :sp
, :vs
甚至 :vim
将从该工作目录开始。此外,这将使 NERDTree 和 netrw 默认显示本地工作目录的内容。
见
:help seeting-tabline
和 :help setting-guitablabel
如果要更改选项卡的名称。 fbruse
会匹配:
foo/bar/user
但不是:
baz/vroom/user
使用上面的选项卡设置,CtrlP 的建议应该限制在
Migration
目录,使它更快。但是 CtrlP 并不完美:它在大型项目中可能会很慢,因此请确保您阅读整个文档。
使用标签(
:help tags
)是一种非常方便的跳转项目的方法::tag foo
:tag bar<Tab>
:ptag /baz<Tab>
和 CtrlP 的
:CtrlPTags
让它几乎很有趣。 FWIW,标签跳转是我最喜欢的导航技术,我通常不使用选项卡或窗口。
关于vim - 你如何在 VIM 中处理大型项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030463/