是否有类似 Windows PowerShell 的 Bash 或 Zsh 键绑定?

是否有类似 Windows PowerShell 的 Bash 或 Zsh 键绑定?

老实说,在学习 Windows CMD 或 PowerShell 之前,我已经使用 Bash 和 Zsh 很长时间了,PowerShell 的 CUA 样式键绑定(ctrl+箭头逐字移动、ctrl+a 选择整个命令行、ctrl+v 粘贴、ctrl+c 复制等)对我来说仍然更有效率。这是大多数现代编辑器的工作方式。

我喜欢 Vim,但我没有任何足够好的 Vim 模拟。我真的很想在 Bash 或 Zsh(而不是 Emacs 或 Vi)中拥有 CUA 绑定。

这可能吗?

答案1

这在 Bash 中存在,它的ble.sh,代表 Bash Line Editor.sh。它使 Ctrl + Left/Right 跳转整个单词,Shift + Left/Right 突出显示字符,Ctrl + Shift + Left/Right 执行两者,这些是标准 CUA 绑定。现在它实现的突出显示不同于我们使用鼠标获得的突出显示(这是由您正在使用的终端仿真器实现的),并且它是从 Ctrl + Shift + c 复制的第二个。ble.sh不实现我所知道的任何复制/粘贴功能。

如果你不喜欢 Ctrl + Shift + c 复制,那么可以考虑使用允许这种重新绑定的终端仿真器,kitty, 和terminator是开始的地方。事实上,它看起来kitty允许您将 Ctrl + c 绑定到,copy_or_interrupt这听起来正是您想要的。

答案2

对于bash,这一切都是有记录的这里。有默认绑定,但您可以更改它们,甚至可以定义宏。

答案3

如果你熟悉 PowerShell 并且熟悉 Windows 键绑定,我建议在 Linux 上使用 PowerShell 作为 shell。PowerShell 现在货源充足跨 Linux 发行版,并可以配置为使用您想要的键绑定:

Set-PSReadLineOption -EditMode Windows

Linux 上的默认编辑模式是 Emacs 样式的键绑定。您可以添加上述行来~/.config/powershell/profile.ps1更改所有新 shell 的设置。

相关内容