![在 Windows 中使用自动完成功能在 Bash shell 中启动批处理 shell](https://linux22.com/image/1469229/%E5%9C%A8%20Windows%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E5%8A%9F%E8%83%BD%E5%9C%A8%20Bash%20shell%20%E4%B8%AD%E5%90%AF%E5%8A%A8%E6%89%B9%E5%A4%84%E7%90%86%20shell.png)
我在 Cygwin 中使用 bash,并且想在当前 shell 中启动一个新的批处理 shell。
因此我使用cmd
进入一个新的批处理 shell:
myuser@machine /
$ cmd
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\cygwin64>
到目前为止一切顺利,但是当我按下时tab
,我没有获得自动完成功能,而是得到了 4 个空格(
)。
我尝试使用 tmux 进行类似的设置,但无法使其工作。
另外,我不想使用其他控制台(例如 ConEmu),因为我也会使用 ssh 连接到我的机器。
答案1
如果您所说的“在 Cygwin 中使用 bash”实际上是指“在 mintty 中运行 bash”,那么您根本无法获得“真实控制台”应用程序的正确行为。您将只能在此终端中正确运行“cygwin 应用程序”。也就是说通过设计。
tmux 不是终端,它运行另一个控制台应用程序(如 bash),但它使用与您首先启动的相同终端。因此,即使您设法运行 tmux,您也会遇到同样的问题。
因此,唯一的解决方案是使用另一个终端。完全无法理解为什么你不能在 ConEmu 中运行 ssh。你甚至可以运行ConEmu 中的 mintty如果你真的想要它。
还有。碰杯cmd 的扩展,它为习惯使用 tab 补全的 unix 用户提供了方便。您可以尝试康德这是一捆康埃穆、clink等一些工具。