如何更改 oh-my-fish 的选项卡完成行为?
How do I change the tab completion's behavior of oh-my-fish?
oh-my-zsh 和 bash 的标签补全
在 oh-my-zsh 和 bash 的选项卡补全中,我们输入了一个命令(例如,cut
),我们想要一个长选项(例如,--delimiter
) 后面应该有一个选项的参数。
如果我们想使用tab补全来帮助我们输入长选项,oh-my-zsh或bash将输入带等号的长选项(例如,--delimiter=
)。
例子
输入以下字符:
cut --d
如果我们使用 oh-my-zsh,然后按 TAB 键,我们将得到:
cut --delimiter=
如果我们使用 oh-my-fish,然后按 TAB 键,我们将得到:
cut --delimiter
把等号(=
)改成了space等号(
).
问题
如何将 oh-my-fish 的制表符补全行为更改为让 oh-my-fish 的制表符补全在应该后跟参数的长选项。
这不是 OMF 的责任。完成由鱼处理。我认为有一个开放的问题讨论改变当前行为以包含等号,但我找不到它。所以请随时在 https://github.com/fish-shell/fish-shell/issues/new 打开一个问题。但是,由于几乎所有命令都使用标准的 getopt_long() 函数(或类似函数),它允许使用 space 或等号将值与标志分开,因此您需要解释原因改变是必要的。
oh-my-zsh 和 bash 的标签补全
在 oh-my-zsh 和 bash 的选项卡补全中,我们输入了一个命令(例如,cut
),我们想要一个长选项(例如,--delimiter
) 后面应该有一个选项的参数。
如果我们想使用tab补全来帮助我们输入长选项,oh-my-zsh或bash将输入带等号的长选项(例如,--delimiter=
)。
例子
输入以下字符:
cut --d
如果我们使用 oh-my-zsh,然后按 TAB 键,我们将得到:
cut --delimiter=
如果我们使用 oh-my-fish,然后按 TAB 键,我们将得到:
cut --delimiter
把等号(=
)改成了space等号( ).
问题
如何将 oh-my-fish 的制表符补全行为更改为让 oh-my-fish 的制表符补全在应该后跟参数的长选项。
这不是 OMF 的责任。完成由鱼处理。我认为有一个开放的问题讨论改变当前行为以包含等号,但我找不到它。所以请随时在 https://github.com/fish-shell/fish-shell/issues/new 打开一个问题。但是,由于几乎所有命令都使用标准的 getopt_long() 函数(或类似函数),它允许使用 space 或等号将值与标志分开,因此您需要解释原因改变是必要的。