如何在 fish 中设置键绑定,以便 fish 明白在将其附加到命令行后不要执行绑定字符串,而只是将其作为字符串附加到命令行。
我想设置一个| less
通过按 ie Alt+附加的绑定Y。
看来,默认情况下,fish 理解要自动执行的命令。
即当我ls
在命令行上输入然后按Alt+时Y,它只应该完成看起来像这样的命令ls | less
,但仍然不会执行它。
我正在尝试这样的事情
bind \ey " \| less"
但鱼不接受我的句法
答案1
要在命令行末尾添加 |less,它已经是 fish 中的默认功能,使用 Alt-p
http://fishshell.com/user_doc/index.html#editor
如果愿意的话,您可以创建一个函数来执行此操作:
function __fish_less
commandline -i -- "|less"
end
bind \ey __fish_less
我不确定你是否需要逃离|做一些测试......
编辑:
关于附加,命令行帮助说:
* -a or --append do not remove the current commandline, append the specified string at the end of it
* -i or --insert do not remove the current commandline, insert the specified string at the current cursor position
* -r or --replace remove the current commandline and replace it with the specified string (default)
因此,要附加而不是插入命令,我想您应该使用 -a