对于那些不知道的人,默认情况下在OSX上,ctrl + h
的工作原理与退格相同。
出于某种原因,在运行git add -p
时,如果我输入了错误的密钥,ctrl+h
不会退格,而是广告^H
。
有谁知道为什么这种方式与预期不同?
有人知道是否有任何方式让它以我想要的方式运作?
答案 0 :(得分:3)
这与Git的关系很少(并非完全没有)。
问题是退格键可选择发送ASCII DEL或control-H,而control-H发送control-H。一些程序 - 包括大多数编辑和流行的贝壳 - 将两个键视为"删除前一个字符"。
其他人,如你所见,没有。
这里有不同的选择。我使用的是修改退格键以发送control-H,并设置我的stty
设置以将control-H标记为"删除前一个字符"键。你会找到一个标有&#34的复选框;删除发送Control-H"在终端设置的高级选项卡下(每个配置文件可更改)。
对于stty
设置,您只需将行stty erase ^H
添加到.login
或.profile
或您创建新shell时运行的其他文件中窗口;但是只有当shell是一个交互式shell时才要小心设置它,你可以通过检查shell的初始提示(或者其他一些特定于shell的方法,这显然取决于你使用的shell)来判断它。