如何使TAB在命令窗口中正常工作?


10

当我在命令窗口中按TAB键时,将插入制表符(空格),而不是迭代当前目录中的槽项。我如何使其以其他方式(自动完成)工作?

Answers:


13

看来注册表中的完成功能可能已被禁用。

以下是输出的解释cmd /?

默认情况下不启用文件和目录名称完成。您可以使用/ F:ON或/ F:OFF开关为CMD.EXE的特定调用启用或禁用文件名完成。
您可以通过使用REGEDT32.EXE在注册表中设置以下两个REG_DWORD值之一或全部,来为计算机和/或用户登录会话上的CMD.EXE的所有调用启用或禁用完成功能(实际上,只需要regedit.exe就可以了)

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar with the hex value of a control character to use for a particular function (e.g.  0x4 is Ctrl-D and 0x6 is Ctrl-F).  The user specific settings take precedence over the machine settings.  The command line switches take precedence over the registry settings.

如果使用/ F:ON开关启用了完成功能,则使用的两个控制字符是Ctrl-D(用于完成目录名)和Ctrl-F(用于完成文件名)。
要在注册表中禁用特定的完成字符,请使用空格(0x20)的值,因为它不是有效的控制字符。


1
您还可以使用TweakUI设置这两个选项:microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
Stephen Jennings 2010年

@njd,为什么您说默认情况下未启用它?默认情况下,它似乎已为我启用(Win 8.1)。
和平者

@Pacerier Windows XP(OP要求的版本)在默认情况下未启用。我还写了2010年和Windows 8直到2012

@njd,无论如何,另一个古怪:Ctrl-FCtrl-D 双方通过文件和文件夹循环。基本上,他们做同样的事情,也是您在win8.1上的行为吗?
Pacerier,2015年

4
同样,要将Tab设置为完成字符,请将CompletionChar和PathCompletionChar的值都设置为“ 9”(Tab的ASCII码为十进制和十六进制)。
Myles

0

对我来说,我必须:

  • 右键单击标题栏
  • 选择属性
  • 检查“ 编辑选项”下的“ 快速编辑模式

0

在我的系统上,无论给定什么值,都将/ F选项添加到命令提示符链接禁用选项卡补全。如果我根本不提供/ F,则表示我已经完成制表符;但是/ F:ON和/ F:OFF都将其禁用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.