我有以下完成:
zstyle ':completion:*' completer _complete _approximate
因此,如果我输入错误的内容并按 TAB 键,我将看到一个包含更正命题(我喜欢的)的列表,同时拼写错误的单词将在命令行中自动更改为第一个命题(我不喜欢的)。那么如何摆脱这种在线自动校正呢?我只想要可能的更正列表,但命令行应坚持原始文本。
答案1
更正会自动应用,因为它们位于组列表中的第一个位置,先于original
。你可以改变它
zstyle ':completion:*' group-order original corrections
结果是
最终解决方案归功于 Stéphane Chazelas。
答案2
如果你有:
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' original true
然后将原始内容添加为可能的完成(最后这样您可以按Up),然后您会得到正在发生的情况的描述。
例如,Tab在 后按/usr/lco
:
按下后Up:
您也可以按Ctrl+_或Ctrl-XCtrl-U撤消更正并取消完成。