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

Col*_*nic 64 windows bash command-line

我已经在 Linux 上使用 Bash shell 多年了,而且我用它很快。通过经常通过按 Tab 键来请求自动完成,我能够在几次击键中编写长命令。

最近在我的工作中,我开始使用 Windows 命令提示符和 Cmd。我在 Cmd 中很慢。它具有自动完成功能,但工作方式不同。我想我明白它是如何工作的,但我不明白如何有效地使用它,事实上它经常让我慢下来。所以我问,如何有效地使用Cmd的自动完成?


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

假设当前目录中的文件夹具有来自大陆和国家的名称,例如。africa-nigeria, asia-india, europe-france, 以及我想将文件夹更改为europe-norway.

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

因此,要在 Bash 中移至挪威,我键入cd并进行以下按键操作:

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

伟大的!谢谢巴什。

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

Col*_*nic 70

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

我安装了Clink,它在 Cmd 中为您提供了 Bash 风格的自动完成功能。

Clink 结合了原生 Windows shell cmd.exe 和 GNU Readline 库强大的命令行编辑功能,提供了丰富的补全、历史和行编辑功能

这个棒极了。


har*_*ymc 18

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

否则,您可能会尝试另一种 shell,而不是古老的命令提示符,以找到最适合您需求的 shell。

以下是一些在 Windows 上模拟 bash 的控制台列表:

win-bash
Road Bash本文
介绍的Git Bash

其他控制台:

Microsoft 的Windows PowerShell及其维基百科文章(最强大的)
控制台以及文章
ColorConsole
PowerCmd
GS.EXE
PyCmd

[编辑] 此后我发现了Cmder,它是一个出色的表格控制台替代品,它还带来了许多 Linux shell 行为以及许多 Linux 文件处理应用程序(如 grep)的端口。

  • +1。Cmd 一直是一个可悲的 shell 借口,微软很早就放弃了对它的任何开发。由于您已经在 bash 中表现出色,因此最好的选择是通过安装 Cygwin 继续使用它。 (3认同)
  • 在我的 Win7 上,PowerShell 的自动完成(使用 TAB)(错误)行为就像 CMD 中一样。 (3认同)

Ste*_*han 12

点击该TAB键可切换所有现有目录。

试着在cd那个TAB时候进入几次,你就会看到原理。

cd countries/europe-s[TAB][TAB] 
Run Code Online (Sandbox Code Playgroud)

例如将带您参加第二场比赛(国家/欧洲-塞尔维亚)


小智 8

在 Windows 10 中,文件名和目录名补全可以使用通配符。

对于更改为 europe-norway 的示例,这些命令中的任何一个都应该起作用:

cd *nor*<tab>
Run Code Online (Sandbox Code Playgroud)

或者

cd *way<tab>
Run Code Online (Sandbox Code Playgroud)

您可以使用多个“*”,并且没有隐式的前导或尾随“*”。


Chi*_*g64 5

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

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

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

在 Windows 命令提示符中:输入 cd states\e 后TAB,命令提示符将匹配以 e 开头的第一个可能的文件名(在您的情况下是 europe-albania),但它仍然会记住您只输入了“e”。因此,如果您TAB再次按下,它将显示下一个可能的比赛(按字母顺序排列):欧洲-安道尔。

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

  1. 输入 euro-no,然后按TAB
  2. 输入 e 然后按住TAB直到显示 euro-norway