微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

默认情况下使用Vim / Ack搜索整个项目

我想使用Ack(或类似的插件,如果其他东西可以完成这项工作)认情况下在Vim中搜索我的整个项目,而不仅仅是当前目录.理想情况下,我最终会得到一个像在Sublime中使用Cmd Shift F一样的过程.我怎样才能做到这一点?

像CtrlP这样的选项让g:ctrlp_working_path_mode =’r’让它在包含像.git这样的文件的最近的父目录中搜索将是完美的. (https://github.com/kien/ctrlp.vim#basic-options)

解决方法

我不认为Ack(或grep / vimgrep)可以检测到你的“项目根目录”.如果您经常处理多个项目,可以在vimrc中添加此块:

let g:projectA_path="/path/to/A"
let g:projectB_path="/path/to/B"
let g:projectC_path="/path/to/C"

还定义了一些函数/命令,如AckA,AckB,AckC ……
基本上func /命令就是:

exec 'Ack! '. pattern . " " . g:projectA_path

模式是你传入的参数.然后,将来你可以这样做:

:AckA foo

要么

:call AckA("foo")

用于在projectA中快速grepping / acking.

我没想到更简单的方法.很高兴看到有更好的解决方案.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐