将powershell键盘绑定更新为像bash shell一样的emacs样式

Mat*_*ith 14 windows bash terminal powershell git-shell

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

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

如果它有帮助,我并不真的关心powershell每个说法,我关心posh-git shell.但是,git-shell从powershell继承了它的属性.

Mat*_*sen 26

您可以PSReadLine使用PowerShell 5.0附带的模块(Windows 10)来实现.

只需将EditMode选项设置为Emacs:

Set-PSReadLineOption -EditMode Emacs
Run Code Online (Sandbox Code Playgroud)

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

项目的README文件中提到,没有得到充分落实,所以不要指望全功能奇偶校验,但我可以肯定,它切换标签完成bash的风格,支持Alt+FCtrl+P键绑定分别为前进和跳跃到以前的命令

(我不是一个经验丰富的emacs用户,所以我无法判断这是否与你期望的"足够接近")

  • @yuzhen 将其添加到您的[个人资料](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles)! (5认同)
  • 此设置仅存在于当前会话中。我怎样才能让它永久生效 (4认同)
  • Ctrl + A、Ctrl -E、Ctrl -P、Ctrl-N 至少可以正常工作。很有帮助 (2认同)