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

时间:2017-01-30 23:51:37

标签: vim

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

适用于gf

$tools/tools.json

这不适用于gf

${tools}/tools.json

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

2 个答案:

答案 0 :(得分:6)

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

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

isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=

如果您将其更改为:

isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=,{,}

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

添加

set isfname+={,}

到你的.vimrc就可以了。

答案 1 :(得分:3)

您需要将这两行添加到.vimrc文件中:

set isfname+={,}
set includeexpr=substitute(v:fname ,'\v\$\{(\w+)}','$\1','g') 
相关问题