我已经成功安装并使用过去的MinGW和msys来编译和链接Windows可执行文件。在32位Vista的全新安装(与之前的成功相同的平台)上,我遇到了一些令人抓狂的行为:当我在提供的shell环境中输入小写的“e”或大写的“P”时,我得到了一声低沉的嘟嘟声,但没有人物!意思是我不能输入“make”或“echo”,然后运行这些命令。它是:m-a-k-BEEP!
当您通过安装程序生成的快捷方式调用msys时打开的shell中发生此'无'BEEPing,并且通过导航到c:\ msys \ 1.0 \ bin并双击bash来在shell中发生。 exe,sh.exe,rxvt.exe(实际上它有一个低沉的噪音粉扑而不是一个清脆的BEEP),但总是小写的'e'和大写'P'不会回应终端(或shell?显然我没有处理这些术语之间的差异。)
我尝试过自动MinGW和msys安装程序,并在同一端进行了全新的手动安装。
我不太了解炮弹,或者他们的环境在他们启动时如何演变,所以我不知道从哪里开始寻找这种古怪行为的来源。
答案 0 :(得分:12)
我假设你正在使用Bash。听起来像是因为某些原因,键绑定已经搞砸了。
如果您执行此命令:
bind -p|grep -i '"[pE]"'
你应该得到这个结果:
"E": self-insert
"e": self-insert
"P": self-insert
"p": self-insert
如果缺少“P”和“e”的条目,请尝试这些命令。
bind '"e":self-insert'
bind '"P":self-insert'
显然,你不能输入字符,所以输入他们的反面案例版本,按左箭头,然后按Alt-u将小“p”或Alt-l(这是一个小写“ell” “)将大写字母”E“(你需要在第一个命令中为每个”e“执行此操作)。
如果可行,请检查~/.inputrc
文件以查找无效的键绑定。此外,检查您的启动文件,例如~/.bashrc
等。问题可能是缺少或错放引号,它可能是\eP
之类的键绑定,默认情况下是绑定到readline函数do-lowercase-version
。
答案 1 :(得分:0)
在目录C:\ Documents and Settings \ yourusername中,您可以找到名为' .bashrc'的文件。 添加以下2行 绑定" e":自我插入' 绑定"" P":自我插入'
丹尼斯威廉姆森,非常感谢你!这个问题困扰了我很长时间。