非自动完成终端

Dan*_*n W 3 command-line shortcut-keys 14.04

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

编辑澄清

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

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

Documents

 --> d1something

 --> d2something
Run Code Online (Sandbox Code Playgroud)

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

cd Documents/d1something/
Run Code Online (Sandbox Code Playgroud)

然后,通过使用 ctrl+shift+- 它将是:

cd Documents/d1something
Run Code Online (Sandbox Code Playgroud)

再次:

cd Documents/d1
Run Code Online (Sandbox Code Playgroud)

再次:

cd Documents
Run Code Online (Sandbox Code Playgroud)

我想知道是否有cd Documents/d1something/返回到cd Documents(第一步和最后一步)的捷径。如果没有, ctrl+shift+- 将正常工作。

Mic*_*ler 7

根据bash 手册页,该undo函数的默认快捷方式是Ctrl+ _(请注意,这是大多数键盘上的Ctrl+ Shift+ -)或Ctrl+x后跟Ctrl+ u。如果您的制表符完成向目录名称添加了尾随斜杠,您可能需要撤消两次,一次删除斜杠,再一次删除完成添加的文本。

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

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