Blu*_*ile 6 vim nerdtree minibufexplorer ctrlp
我有大量的文件夹级别的项目.某些文件的名称相同,具体取决于文件夹名称,其功能各不相同.例如
/admin/action1.php
/action1.php
Run Code Online (Sandbox Code Playgroud)
第一个将引用管理任务,第二个将由用户访问.Vim很快就被标签和缓冲区弄得乱七八糟,而且很难移动.我正在使用的插件是:NERDTree CtrlP MiniBuffExplorer
我正在使用gVim for Windows和像YouCompleteMe这样的插件不是一个选项.

正如你在图片上看到的那样,有许多标签可以记住女巫标签对应于女巫部分的代码.MiniBuffExplorer没有太多帮助.
所以我的问题是你将如何在VIM中使用大型项目来优化其功能或代码部分.有干净的方法吗?有没有办法分组缓冲区或标签,如:
Migrations
Seeds
Admin Controllers
Admin Views
Config
Run Code Online (Sandbox Code Playgroud)
我不认为这些工具有问题.你使用它们的方式更多.
标签没有被设计在所有的文件代理就像他们在其他编辑器.选项卡是工作区,允许您按照自己喜欢的方式组织窗口.他们是你的最佳人选
Migrations
Seeds
...
Run Code Online (Sandbox Code Playgroud)
场景.
以下是创建"迁移"选项卡的一种可能方法:
:tabnew | lcd path/to/Migration
Run Code Online (Sandbox Code Playgroud)
从那里,你在该选项卡创建的窗口将继承Migration工作目录和每一个:e,:sp,:vs甚至:vim会从工作目录开始.
此外,这将使NERDTree和netrw默认显示本地工作目录的内容.
见:help seeting-tabline而:help setting-guitablabel如果要更改选项卡的名称.
您应该使用CtrlP的路径模式在整个路径上进行匹配而不是文件名:
fbruse
Run Code Online (Sandbox Code Playgroud)
会匹配:
foo/bar/user
Run Code Online (Sandbox Code Playgroud)
但不是:
baz/vroom/user
Run Code Online (Sandbox Code Playgroud)
使用上面的选项卡设置,CtrlP的建议应该限制在Migration目录中,使其更快.
CtrlP并不完美:它在大型项目中可能很慢,因此请务必阅读整个文档.
一个"永远在线"打开的缓冲区的名单可能是一个好主意,当你有一个少数人,但像标签,它显然没有规模可言.当您真正想要切换缓冲区时显示列表要好得多:减少屏幕空间和脑细胞浪费!
但请注意,虽然可以定义窗口局部参数列表,但AFAIK无法定义窗口本地缓冲区列表.由于参数列表总是泄漏到缓冲区列表中,缓冲区列表是全局的,因此缓冲区命令将始终处理相同数量的缓冲区,无论您使用哪个选项卡.因此限制了选项卡的一般用途.
文件不是处理大型项目的非常好的比喻:当程序由函数,类,数组,变量......而不是文件组成时,必须在头脑中保留复杂的符号 - >文件映射.
使用tags(:help tags)是跳转项目的一种非常方便的方法:
:tag foo
:tag bar<Tab>
:ptag /baz<Tab>
Run Code Online (Sandbox Code Playgroud)
而且CtrlP让它:CtrlPTags变得非常有趣.
FWIW,标签跳跃是我最喜欢的导航技术,我通常不使用标签或窗口.
| 归档时间: |
|
| 查看次数: |
4209 次 |
| 最近记录: |