27

我对默认的 bash shell 快捷方式(emacs 样式)相当熟悉。例如,如果我想将光标向前移动一个单词,我会按下Alt+F(与在 emacs 中相同)。我可以使用Ctrl+P.

在 Windows PowerShell 中甚至可以覆盖这些快捷方式吗?如果是这样,是否有人知道将默认 bash shell 快捷方式配置映射到 powershell 的好方法(set -o emacs例如,在 bash shell 中,您可以说)?

如果有帮助,我真的不关心 powershell,我关心的是 posh-git shell。但是,据我所知, git-shell 从 powershell 继承了它的属性。

4

1 回答 1

62

您可以PSReadLine使用 PowerShell 5.0 (Windows 10) 附带的模块来执行此操作。

只需将EditMode选项设置为Emacs

Set-PSReadLineOption -EditMode Emacs

除了默认Windows模式,它还有一个Vi模式。

项目README 文件提到两者都没有完全实现,所以不要指望完整的功能奇偶校验,但我可以确认它将选项卡完成切换为 bash 样式,并支持分别向前移动和跳转到上一个命令的Alt+F和键绑定Ctrl+P

(我不是经验丰富的 emacs 用户,所以我无法判断这是否“足够接近”您的期望)

于 2017-04-08T15:17:53.973 回答