Vim-状态栏和链接

用户1101

在这种情况下:

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%%\ \ 
英戈·卡卡特(Ingo Karkat)

@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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章