Ada*_*dam 6 windows cygwin bash command-line key-binding
我在 Windows 中使用 bash,包括 Cygwin 和 Git Bash(Git for Windows 的一部分)。在 bash 中不像在 Windowscmd.exe Esc中不清除行,只有Ctrl+ U。我怎样才能弄清楚这条线?
谢谢!
Spi*_*iff 11
我没有方便的 Windows 安装 Cygwin 或 Git 来测试这个,但这是 Unix 答案:
在您的 (cygwin) 主目录中创建一个名为“.inputrc”的文件,并向其中添加以下行:
Escape: unix-line-discard
Run Code Online (Sandbox Code Playgroud)
在我最喜欢的 Unix 变体中,Control-u 被映射到 unix-line-discard,它会删除光标之前的所有内容。如果您希望它删除整个输入行,包括光标右侧的任何内容,请使用“kill-whole-line”而不是“unix-line-discard”。
请注意,您的 bash 行编辑模式可能会占用 Escape。我的系统上的 Bash 默认为 vi 风格的行编辑模式 ( set -o vi),正如你可能知道的,vi 是关于 Escape 键的,所以当我尝试这个时,我必须按 Escape 两次,因为第一个被 vi -样式编辑模式。我不是一个 emacs 人,所以我不知道 emacs 风格的行编辑模式对 Escape 按键会做什么。
还要注意 .inputrc 文件是在 shell 启动时读取的,所以在编辑你的 ~/.inputrc 之后,关闭你的 shell 并打开一个新的 shell,看看更改是否有效。
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |