如何有效地使用 Cmd 的 Tab 自动完成功能?

如何有效地使用 Cmd 的 Tab 自动完成功能?

我已经在 Linux 上使用 Bash shell 多年了,而且我使用它的速度非常快。通过频繁按下 Tab 键来调用自动完成功能,我能够在几次击键中编写长命令。

最近,我在工作中开始使用 Windows 命令提示符和 Cmd。我在 Cmd 中运行速度很慢。它具有自动完成功能,但工作方式不同。我想我了解它的工作原理,但我不知道如何有效地使用它,事实上它经常让我的速度变慢。所以我问,如何有效地使用 Cmd 的自动完成功能?


举个例子。首先,我将描述如何使用 Bash,然后描述我如何尝试使用 Cmd,以及会出现什么问题。

假设当前目录中的文件夹名称由某个大洲和某个国家组成,例如,,,,africa-nigeria并且我想将文件夹更改为。asia-indiaeurope-franceeurope-norway

Bash 自动完成的工作方式是,只有存在唯一扩展时,Tab 键才会扩展。否则,什么也不会发生,但您可以再次按下 Tab 键来列出可能的扩展。

因此,要在 Bash 中转到挪威,我输入cd并进行以下击键:

  1. e tab为了europe-
  2. n tab(什么都没发生)
  3. tab再次。它列出了europe-netherlandseurope-norway作为潜在的扩展。
  4. o tab为了europe-norway

太棒了!谢谢 Bash。

但是,当我在 Cmd 中尝试相同的键时,它会扩展e tabeurope-albania,这恰好是第一个以“e”开头的文件夹,但不是我想要的文件夹!我现在应该怎么做— 可以将阿尔巴尼亚变成挪威吗?还是我必须取消命令Escape并从头开始输入所有内容?

答案1

1 年更新:我得出结论,Cmd 的自动完成功能无法使用,因此停止使用它。

我安装了碰杯它为您提供 Cmd 中的 Bash 样式的自动完成功能。

Clink 将原生 Windows shell cmd.exe 与 GNU Readline 库强大的命令行编辑功能相结合,提供丰富的完成、历史记录和行编辑功能

这个棒极了。

答案2

赛格威将允许您在 Windows 下运行 Bash shell(除了许多其他 POSIX 环境软件)。

否则,您可以尝试使用其他 shell(而不是古老的命令提示符)来找到最适合您需求的 shell。

这里列出了一些在 Windows 上模拟 bash 的控制台:

赢取bash
公路越野赛
Git Bash 的描述本文

其他控制台:

微软的Windows PowerShell和它的维基百科文章(最厉害的)
安慰一篇文章
色彩控制台
电源命令
执行档
命令行

[编辑]后来我发现康德它是一个很好的表格控制台替代品,还带来了许多 Linux shell 行为以及许多 Linux 文件处理应用程序(如 grep)的移植。

答案3

按下该TAB键可在所有现有目录之间切换。

尝试进入cd几次TAB你就会明白其中的原理。

cd countries/europe-s[TAB][TAB] 

例如将带你进入第二场比赛 (countries/europe-serbia)

答案4

Linux 中的 Bash 尝试匹配并自动填充所有文件所共有的所有首字符。

另一方面,Windows 命令提示符仅使用匹配的第一个元素自动填充命令提示符。

例如:在 linux bash 中:输入 cd countries\e 后TAB,bash 将进入 countries\europe-,因为它匹配所有以 e 开头的文件名,然后您可以输入接下来的几个字符并TAB再次按。

在 Windows 命令提示符中:输入 cd countries\e 后TAB,命令提示符将匹配第一个以 e 开头的文件名,在本例中为 europe-albania,但它仍然记得您只输入了“e”。因此,如果您TAB再次按此键,它将显示下一个可能的匹配项(按字母顺序排列),europe-andorra。

如果您想更快到达欧洲-挪威,您可以:

  1. 输入 europe-no 然后按TAB
  2. 输入 e 然后一直按TAB直到显示 europe-norway

相关内容