屏幕和Cygwin:没有制表符补全?

8

我在使用开发环境时遇到了一些问题。具体来说,在Cygwin中调用screen实用程序后,我失去了进行制表符补全的能力。然而,在调用screen之前,标签补全完全正常。

我尝试设置不同值的TERM环境变量(VT100、xterm等),但都没有成功。这一定是一些微不足道的事情,但我已经不知道该怎么办了。StackOverflow有什么建议吗?

3个回答

4

当你在Cygwin中使用“screen”命令时,它可能会把你放到另一个shell(如/bin/sh)中,而不是bash shell(/tab completion通常在bash shell中实现)。

为解决该问题,你可以编辑你的.screenrc文件(位于你的主目录中),并添加以下这行代码:

shell bash

然后尝试再次运行screen,您应该在这个新窗口中看到标签自动完成的效果。

4
问题在于bash需要以登录shell方式运行才能在默认的Cygwin设置中具有选项卡自动完成功能。如果您在Cygwin bash中运行bash,也不会有选项卡自动完成。要将screen设置为以登录模式运行bash,请将以下行添加到您的~/.screenrc文件中:
shell -bash

2

我曾在Linux机器上使用screen时遇到了与git自动补全无法使用的类似问题,但不是由于不同的shell引起的。我通过以下问题解决了这个问题:Git autocomplete in screen on mac os并执行以下操作:

获取git自动补全脚本

curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -OL

为什么你想让它一直挂着?
mv git-completion.bash .git-completion.bash

将此行添加到您的./bashrc文件中

source ~/.git-completion.bash

然后在你的终端中执行以下操作

source ~/.bashrc

这对我有用。

(我想象你已经解决了你的问题,但我希望这对其他人有所帮助)


1
你好,尼古拉斯,欢迎来到SO。感谢您为这个老问题付出了努力...您的答案显著地为问题增添了有用的信息。因此我点了赞。 - luksch
谢谢!在过去的几年里,SO帮助了我无数次,我期待着为社区做出贡献。 - Nicholas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接