1

当我在单个 vim 窗口中处理不同目录下的多个文件时,Vim 会将一些默认工作目录与打开的文件相关联。

当我在文件中找到与问题文件相关的lcd注释时,我已将问题追溯到我的折叠设置。.vim/view/删除后问题就解决了。

以我的文件为例~/opt/lib/python/peakdetect.py,它~/.vim/view/~\=+opt\=+lib\=+python\=+peakdetect.py\=包含以下行:

lcd ~/mnt/CASE\ STUDIES/amazon\ -\ employee\ access
let &so = s:so_save | let &siso = s:siso_save
doautoall SessionLoadPost

我怎样才能防止这种行为?

这是我的.vimrc(.gvimrc 仅设置窗口大小)与以下相关的选项fold

" save & load fold structure
 42 au BufWinLeave * silent! mkview
 43 au BufWinEnter * silent! loadview
 44 set fdo-=search "do not open close fold when matching
 45 set fdo-=block "do not open closed but when using z? commands

谢谢

4

2 回答 2

1

持久化的内容由'viewoptions'设置决定。不幸的是,本地工作目录没有单独的配置值。:lcd当您设置本地命令时,Vim 似乎总是添加命令。

要解决此问题,请避免为当前具有窗口本地目录的窗口创建视图,或者您可以对生成的视图脚本进行后处理以删除/注释掉该:lcd行。session.vim插件使用该方法处理会话文件。

于 2013-08-13T10:11:30.277 回答
0
set sessionoptions-=curdir

此设置也适用于视图,尽管文档没有说明这一点。

于 2016-05-18T10:13:45.410 回答