我有多个项目p1, p2, ..., pn, 都存放在 ~/src 目录下.
当我要开发p1项目时, 我习惯在终端中用如下的方式打开p1文件夹:
cd src/p1
vim .
这时, 我希望 vim 的当前目录是 ~/src/p1
但实际上, 在 vim 里执行 :pwd 显示的结果是 ~/src
由于我使用 ctrlp.vim 查找文件, 这个问题会导致查找的范围是 src 下的所有文件, 而不是p1下的文件.
目前我不得不通过打开p1里的任意一个文件来避免这个问题, 例如:
cd src/p1
vim README.md
请问各位 ctrlp.vim 用户, 你们是如何解决这个问题的? 是我打开的姿势不对?
1
coderwang 2015-02-14 13:40:56 +08:00
nerdtree 默认打开,设置cd到src下
:cd p1 CD 目录树进到p1 |
2
yafeilee 2015-02-14 14:15:19 +08:00
正常行为下, pwd 就是当前路径打开 vim 时的路径.
楼主是不是配置了 vimrc 里面的当前路径? |
3
lusyoe 2015-02-14 14:45:16 +08:00 via Android
你想要:CtrlPRoot这样的效果?
|
4
guoqiao OP @yafeilee
我应该没有设置, 这里是我的 vim 配置: https://github.com/guoqiao/vimx/blob/master/vimrc @lusyoe CtrlPRoot 是什么效果? |
5
yakiang 2015-02-14 15:13:21 +08:00
和二楼一样,我显示的是 ~/src/p1
|
6
lusyoe 2015-02-14 15:15:38 +08:00 via Android
只显示当前目录下文件,不需要配置,你可以通过
:help CtrlP /CtrlPRoot 查看说明 |
9
lusyoe 2015-02-14 15:41:38 +08:00 via Android
试试:CtrlP r呢
|
10
guoqiao OP @lusyoe 这里的问题其实并不在ctrlp身上, 只要 pwd 是对的, 它的工作是符合我的预期的.
问题在于, 我 cd ~/src/p1 然后 vim . 打开的应该是当前目录p1, 但是 vim 却认为我的当前目录是~/src |
11
lusyoe 2015-02-14 15:52:56 +08:00 via Android 1
既然如此,为什么不将vim重装一次,看下问题是否还存在呢?若存在,则不是vim的问题;若不存在,然后一步一步安装插件添加配置,通过排除肯定是可以找到问题所在的。
|
12
guoqiao OP |
13
lusyoe 2015-02-14 16:04:12 +08:00 via Android
vim配置这东西不需要花费太大的心思,感觉没有太大的意义。我一直都是用spf13,经过绝大多数人去试验是没有太大问题的。。vim有些插件确实很容易起冲突
|
15
drackzy 2015-02-14 17:36:44 +08:00
.vimrc加几行
nmap ,n :NERDTreeFind<CR> nmap ,m :NERDTreeToggle<CR> |
16
drackzy 2015-02-14 17:52:45 +08:00
刚才误按回车发错了
let g:NERDTreeChDirMode = 2 let g:ctrlp_working_path_mode = 'rw' 这个试了试好像可以了,ctrlp搜索目录和Nerdtree当前目录一样的了。 |
17
guoqiao OP @drackzy 谢谢回答, 不过我的问题不在ctrlp这里.
我这里ctrlp 和 NERDTree 的搜索目录也是一样的, 没有问题. 问题在于, 当你cd 进入一个文件夹并用 `vim .` 的方式打开它, NERDTree会导致 pwd 指向上层目录, 这样 ctrlp 的搜索范围也不对了.问题根源并不在 ctrlp. |
18
jason52 2015-02-14 19:37:16 +08:00
@guoqiao nerdtree为啥一定要呢,我感觉ctrlp差不多够用了,不过不是你的项目就不行了,因为目录结构不太熟练。
|
19
kran 2015-02-14 22:43:59 +08:00 via iPhone
善用lcd
ctrlp配置成 cmd . |
20
nicai000 2015-02-14 23:24:49 +08:00 1
:autochdir ?
|