如何在 Fish Shell 中内联扩展缩写?

如何在 Fish Shell 中内联扩展缩写?

我尝试在 Fish Shell 中通过设置缩写 ( nu) 来扩展为字符串,从而节省一些时间:

my-username@my-ip-address:/home/my-username

我希望实现的是输入:

scp some-file nu

...然后按制表符或空格键完成nu缩写以将其扩展为我在 中设置的字符串config.fish

我有更多使用此功能的案例,但 Fish 似乎没有涵盖它。它提供缩写,但它们似乎只在命令开头起作用;我无法让它们在行内工作。有什么想法吗?

答案1

Fish 目前仅允许在命令位置进行缩写扩展。这意味着,例如,它在|(管道)符号之后有效,但不在命令中间有效。多年来,关于它已经出现了很多问题。请参阅

https://github.com/fish-shell/fish-shell/issues/5003

https://github.com/fish-shell/fish-shell/issues/1963

https://github.com/fish-shell/fish-shell/issues/1220

可能还有其他几种。另外,请注意缩写扩展仅支持文字字符串替换,不支持结果自定义(而且不太可能改变)。因此,如果您希望扩展的某些部分(例如my-ip-address)根据您所使用的系统等因素而变化,则需要在启动 shell 时创建缩写。

相关内容