取消自动完成终端

取消自动完成终端

在终端中,可以使用 Tab 键帮助自动完成目录或文件名的输入。但是,如果我犯了错误,输入了错误的目录开头并“将其跳出”,我最终不得不使用退格键并重新输入。是否有快捷键可以撤消终端中的自动完成功能?

编辑澄清

为了扩展我在评论中所说的内容,我想知道是否有撤消到最后一个目录的快捷方式。因此,目前 ctrl+shift+- 似乎工作良好,除了它撤消单个字母。

例如,如果我有以下目录设置:

Documents

 --> d1something

 --> d2something

我想转到“d2something”但不小心输入了“cd d1”,它会自动填充为:

cd Documents/d1something/

然后,使用 ctrl+shift+- 将会是:

cd Documents/d1something

再次:

cd Documents/d1

再次:

cd Documents

我想知道是否有一条快捷方式可以从cd Documents/d1something/返回cd Documents(第一步和最后一步)。如果没有,ctrl+shift+- 就可以了。

答案1

根据bash 手册页,该功能的默认快捷键undoCtrl+ _(请注意,在大多数键盘上,这是Ctrl+ Shift+ )或+后跟+ 。如果您的制表符补全在目录名称后添加了一个斜杠,则可能需要撤消两次,一次是删除斜杠,另一次是删除补全添加的文本。-CtrlxCtrlu

如果您想要从在 bash 中输入的路径中删除最后一个完整的目录组件,最接近的方法是使用函数。默认情况下,它与+组合键backward-kill-word绑定。这将从命令行中删除最后一个“单词”,其中单词完全由字母数字字符组成。AltBackspace

这似乎适用于您给出的示例目录名称。请注意,如果最后一个目录名称包含空格或标点符号(如-或 )_,则这些将被视为单词分隔符,因此您可能需要多次重复此组合键才能擦除回最后一个/字符。

答案2

使用 Zsh,以及 oh-my-zsh(可选)

按下 Control 和 C,或者如果你想要更好的方法,按下 Control + Shift + 下划线键。抱歉我不使用 Bash,zsh 更胜一筹,试试看吧

相关内容