当有符号链接时,在VIM中获取逻辑路径

Mik*_*age 8 vim symlink

我有以下设置:

mkdir /1
mkdir /1/2
mkdir /1/2/3
ln -s /1/2/3 /1/3
Run Code Online (Sandbox Code Playgroud)

如果我这样做cd /1/3,那么pwd,我明白了/1/3.如果我使用pwd -P,我可以得到/1/2/3pwd -L强迫/1/3.

在VIM中,我正在寻找一种方法来获得/1/3.
如果我打开一个文件/1/3/foo.txt,并使用类似的东西fnamemodify(bufname(winbufnr(0)), ':p:h'),它会返回/1/2/3.
我怎么能告诉它给我相同的目录pwd呢?

Bri*_*per 8

看来你不能,除了通过system('pwd -L').根据vim_use邮件列表, Vim现在自动解析符号链接.

有关:h E773理由,请参阅文本; 如果Vim通过符号链接而不是已解析的文件名,则可以在两个不同名称下的两个缓冲区中打开相同的文件,并且Vim会在尝试找出交换文件的位置时感到困惑.另见:h version7.txt:

Unix:通过符号链接编辑文件时,交换文件将使用符号链接的名称.现在使用实际文件的名称,以便检测到两次编辑同一文件.