如何使用外部命令的输出作为tabnew的参数?

时间:2015-06-24 18:46:58

标签: bash vim

在我的.bashrc中,我有以下简短的脚本来获取当前日期。

D(){ date +'%F'; }

在我的.vimrc中,我有以下两行来制作它,以便我可以使用此功能。

set shell=bash\ --login
set shellcmdflag=-ic

我已经通过验证以下命令将当前日期放入缓冲区来测试该函数在vim中是否有效。

:r !D

但是,我想要做的是使用此bash函数的输出作为tabnew的参数,这样我就可以在新选项卡中打开当前日期命名的文件。

:tabnew !D

不幸的是,此命令的行为是创建一个新的选项卡,其文件名为!D而不是输出。

如何将外部命令的输出作为tabnew的参数来取代?

1 个答案:

答案 0 :(得分:4)

反引号扩展可用于在Vim命令中插入外部命令的输出,通常作为参数:

:tabnew `date +'\%F'`

或:

:tabnew `D`

请参阅:help backtick-expansion