为什么vim中的当前工作目录与启动vim的目录不同?
vim显示的当前工作目录与我从命令行启动vim时使用的目录不同。如果我运行时没有使用为什么vim中的当前工作目录与启动vim的目录不同?,vim,Vim,vim显示的当前工作目录与我从命令行启动vim时使用的目录不同。如果我运行时没有使用.vimrc(vim-u NONE),问题就会消失。我如何调试它以找出发生这种情况的原因 $ pwd /Users/rbednark/Dropbox/git/quizme_personal_files/bin $ vim --noplugin :pwd /Users/rbednark/Dropbox/git/quizme_personal_files/bin :edit settings.sh :pwd /U
.vimrc
(vim-u NONE
),问题就会消失。我如何调试它以找出发生这种情况的原因
$ pwd
/Users/rbednark/Dropbox/git/quizme_personal_files/bin
$ vim --noplugin
:pwd
/Users/rbednark/Dropbox/git/quizme_personal_files/bin
:edit settings.sh
:pwd
/Users/rbednark/quizme-read-only-prod
(expected:
/Users/rbednark/Dropbox/git/quizme_personal_files/bin
actual:
/Users/rbednark/quizme-read-only-prod
)
如果我不使用。vimrc
,问题就会消失:
$ vim -u NONE
注:
输出:设置自动chdir?
noautochdir
输出:详细设置自动chdir?
noautochdir
和:!pwd
都输出相同的目录:pwd
vim--noplugin
- 我最近升级了
和vim
(通过python
)brew升级
- 我最近没有更改我的
(除了添加一些注释)。它在git中受版本控制,所以我确认这些是唯一的更改.vimrc
- 我已经用vundle安装并更新了我的插件(
和:VundleInstall
):VundleUpdate
- 我对我的
做了一些更改,但我认为不会改变vim的行为.bashrc
- OS:macOS Mojave 10.14.6
- vim:8.2(2019年12月12日编译,2020年8月20日22:44:15)由自制软件编译
编辑:我最初以为这是因为做了
:编辑其他文件,但现在我只编辑了一个文件就看到了,所以我改变了上面的内容以删除不必要的方面。原因:我在某个时候做了一个:lcd
,而我的.vimrc
在离开和进入缓冲区时有autocmd
s到mkview
和loadview
,因此再次编辑文件就是对另一个目录执行:lcd
解决方案:
选项1——将当前工作目录更改为正在编辑的文件的目录,然后保存:
cd %:p:h
:wq
选项2——删除相应的视图文件,例如
$ rm ~/.vim/view/*myfile*
我是如何解决/调试的:
我将.vimrc
文件一分为二,以确定有问题的行,
这是:
autocmd BufWinEnter * silent! loadview
这表明这是由于一个视图正在加载。然后,我在~/.vim/view
中查看了相应的视图
文件,并搜索了目录名,结果得到了这一行:
lcd ~/quizme-read-only-prod
另请参见:如果您使用vim--noplugin
启动vim,会发生这种情况吗?:设置autochdir?
是的,如果跳过时它消失了,也会发生在vim--noplugin
:设置autochdir?
输出noautochdir
@MattWell。vimrc,我想就把它分开吧。。。