我有以下设置:
mkdir /1 mkdir /1/2 mkdir /1/2/3 ln -s /1/2/3 /1/3
如果我这样做cd /1/3
,那么pwd
,我明白了/1/3
.如果我使用pwd -P
,我可以得到/1/2/3
或pwd -L
强迫/1/3
.
在VIM中,我正在寻找一种方法来获得/1/3
.
如果我打开一个文件/1/3/foo.txt
,并使用类似的东西fnamemodify(bufname(winbufnr(0)), ':p:h')
,它会返回/1/2/3
.
我怎么能告诉它给我相同的目录pwd
呢?
看来你不能,除了通过system('pwd -L')
.根据vim_use邮件列表, Vim现在自动解析符号链接.
有关:h E773
理由,请参阅文本; 如果Vim通过符号链接而不是已解析的文件名,则可以在两个不同名称下的两个缓冲区中打开相同的文件,并且Vim会在尝试找出交换文件的位置时感到困惑.另见:h version7.txt
:
Unix:通过符号链接编辑文件时,交换文件将使用符号链接的名称.现在使用实际文件的名称,以便检测到两次编辑同一文件.