我正试图在vim-rails中使用:A
(例如在控制器和规格之间切换)。如果我导航到我的rails项目,运行vim .
,打开控制器文件并运行:A
,我收到错误:
E345: Can't find file "app/controllers/widgets_controller.rb" in path
如果我然后明确设置路径:
:set path=/Users/me/Documents/Code/my-project
然后:A
按预期工作。当我用Vim打开目录时,如何设置最初的路径?
答案 0 :(得分:1)
不完全是在打开目录时:由于您似乎正在使用项目,请尝试project plugin。
使用它,您可以在进入或离开项目时执行任意命令。
来自插件说明:
您可以使用此插件的基本功能来设置列表 经常访问的文件,便于导航。文件列表 将显示在Vim左侧的窗口中 窗口,您可以按或双击 列表中的文件名以打开文件。这与如何相似 我用过的一些IDE工作。我发现这比使用起来更容易 必须使用文件浏览器导航目录层次结构。 它也消除了对缓冲资源管理器的需求,因为你 将您的文件列表放在Vim窗口的左侧。
答案 1 :(得分:0)
这就是我为每个项目拥有一个本地 .vimrc 文件所做的:
let s:project_root = finddir('.git/..', expand('%:p:h').';')
let s:local_vimrc = join([s:project_root, '.vimrc'], '/')
if filereadable(s:local_vimrc)
exec "source " . s:local_vimrc
endif
touch /path/to/project/.vimrc
let s:project_root = finddir('.git/..', expand('%:p:h').';')
exec 'setlocal path^='.s:project_root
setlocal wildmode=longest,list,full
setlocal wildmenu
setlocal tags=/path/to/project/root/tags
现在 :find 命令应该只显示相对于项目根目录的文件和目录。