如何使用花括号使vim理解环境变量

shi*_*shu 2 vim

我经常gf在vim中使用光标打开文件.这些文件路径通常使用环境变量.当使用没有花括号的环境变量时,vim可以毫不费力地理解它.但是当使用花括号时,vim无法使用环境变量值.

这适用于gf:

$tools/tools.json
Run Code Online (Sandbox Code Playgroud)

这不适用于gf:

${tools}/tools.json
Run Code Online (Sandbox Code Playgroud)

有没有办法让vim理解环境变量的花括号语法?仅供参考,我在Linux(SLES11SP3)上使用TCSH shell,Vim 8.0.

Kei*_*son 6

isfname设置指定可以出现在文件名中的字符集.它不包括{}默认.

大多数系统的默认设置是:

isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=
Run Code Online (Sandbox Code Playgroud)

如果您将其更改为:

isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=,{,}
Run Code Online (Sandbox Code Playgroud)

然后该gf命令将识别${tools}/tools/json为单个文件名.

添加

set isfname+={,}
Run Code Online (Sandbox Code Playgroud)

.vimrc应该做的伎俩.