使用 CtrlP 并没有给出很好的结果 - 我用错了吗?

Sha*_*ane 18 vim

我希望我可以只输入“job.php”并被定向到job.php我的/lib/model/文件夹中,但我大多只是返回了许多其他文件:

[No name]

> batch/dataFixes/jobProspectsSubscriptionId.php
> batch/dataFixes/jobProspectsRankDistance.php
> batch/dataFixes/hiredJobDistanceRankFeedback.php
> batch/sendWeeklyJobOwnersUpdateEmail.php
> batch/dataFixes/backdateJobClosureDailyStats.php
> batch/dataFixes/jobExpectedRevenue.php
> batch/dataFixes/updateJobStats.php
> batch/updateEndedJobState.php
> batch/findUnresponsiveJobPosters.php
> batch/_job_criteria.php

 prt  file  <mru>={ files }=<buf> <->      /Users/shane/Documents/sites/zinc 
>d> job.php_
Run Code Online (Sandbox Code Playgroud)

切换到“在路径中查找”模式,然后键入lib/model/job.php会在该文件夹中显示大量其他类,这些类的文件名中包含“job”,但不包含job.php.

Job 在我们的项目中是一个非常常见的词,但我希望文件名的完全匹配会在结果中获得很高的排名。

我使用 CtrlP 是错误的,还是项目不适合它?

小智 21

最简单的方法是从文档切换到仅文件名模式和正则表达式模式:

一旦进入提示:

Ctrl+ D
在全路径搜索和仅文件名搜索之间切换。
注意:在文件名模式下,提示的基础是>d>而不是>>>

Ctrl+ R:
在字符串模式和完整正则表达式模式之间切换。
注意:在完整的正则表达式模式下,提示的基础是r>>而不是>>>

  • 要将文件名搜索设置为默认搜索模式,请将其添加到您的 vimrc:`let g:ctrlp_by_filename = 1` (2认同)

小智 5

将以下内容添加到您的 ~/.vimrc (如果它不存在,您可能需要创建):

let g:ctrlp_regexp = 1
Run Code Online (Sandbox Code Playgroud)