在我的.vimrc文件中,我想将外部命令的结果存储在变量中,例如:
$ echo $LANG

,这样我的.vimrc文件将具有:
let language = output(!echo $LANG)
if language == 'en'
   nnoremap <somekey> <ohanotherkey!>
end if

到目前为止,我还没有找到方法。我发现在命令模式下,:read !echo $LANG 会在当前文件中插入我要查找的内容。但我不知道如何将其记录在.vimrc文件中。

#1 楼

您可以使用system函数来做到这一点:奖励点:如果输出是列表,则可以使用systemlist来取回列表。例如

let language = system('echo $LANG')


参考::h system

#2 楼

如果LANG是环境变量,则可以执行以下操作:

let language = $LANG


或更简单:

if $LANG == 'en'
…
endif


评论


这不能完全回答我太笼统的问题……但是更好!谢谢。

– Feffe
16年4月19日在10:35