在这种情况下:
cd ~/temp
ln -s /var/lib/alsa alsa
cd alsa
pwd -> /home/<username>/temp/alsa
但是,如果我在的目录输出中打开一些文件pwd
,则vim
状态行会显示以下信息:
/var/lib/alsa/asound.state
如何使其显示pwd
结果,但不点击链接?
我正在使用:
set statusline=%F%=%m\ %y\ \%r\ %1*\ \%l\:\%c\ \%2*\ \ \%p%%\ \
@Gnouc的答案朝着正确的方向发展,但是您绝不能在状态行评估中调用外部命令!这将在每次移动光标和键入字符时产生一个新的过程,并降低Vim的性能(如您所见)。
最好将其分为两部分::autocmd
在当前缓冲区更改时更新变量,以及在状态行本身中非常高效地使用该变量:
set statusline=%{exists('b:actualCwd')?b:actualCwd:getcwd()}/%f%=%m\ %y\ \%r\ %1*\ \%l\:\%c\ \%2*\ \ \%p%%\ \
autocmd BufEnter * let b:actualCwd = system('echo -n $(pwd -L)')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句