Powershell自动完成设置。


2

我想知道是否有改变当前PowerShell自动完成工作的方式。我一直在使用bash并且已经改变它们以提供我在PowerShell体验中所喜欢的一些功能。

目前powershell因为我正在编写一个带有文件夹的命令,它将选项卡自动完成并循环浏览我的文件夹。这是我喜欢的方式,但我想念的一个功能是使用命令的部分匹配并点击向上键,它会发现该命令与我所做的其余部分相匹配。

所以我写'回声测试'然后id写其他命令并尝试'ec'并点击并'echo test'将完成而不是我输入的最后一个命令

只是想知道无论如何还是要反过来?

Answers:


2

我想念的一个功能是使用命令的部分匹配和命中 up

您可以使用PSReadLine(针对PowerShell的bash启发的readline实现):

PSReadLine

此模块取代了PowerShell.exe中版本3及更高版本的命令行编辑体验。它提供:

  • 语法着色
  • 简单的语法错误通知
  • 良好的多线体验(编辑和历史)
  • 可自定义的键绑定
  • Cmd和emacs模式(既未完全实现,但两者都可用)
  • 许多配置选项
  • Bash样式完成(在Cmd模式下可选,在Emacs模式下默认)
  • Bash / zsh风格的交互式历史搜索(CTRL-R)
  • Emacs猛拉/杀死戒指
  • 基于PowerShell令牌的“单词”运动和杀戮
  • 撤销重做
  • 自动保存历史记录,包括在实时会话中共享历史记录“菜单”完成(有点像智能感知,通过箭头选择完成)通过Ctrl + Space

...

要设置自己的自定义键绑定,请使用cmdlet Set-PSReadlineKeyHandler。例如,要获得更好的历史记录体验,请尝试:

Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

使用这些绑定,如果当前命令行为空,则向上箭头/向下箭头将像PowerShell / cmd一样工作。如果您输入了一些文本,它将在历史记录中搜索以当前输入文本开头的命令。

来源PSReadLine


@James根据源链接放入绑定C:\Users\[User]\Documents\WindowsPowerShell\profile.ps1。参见自述
DavidPostill

工作得很好!并且在我的vs代码shell中工作也没有问题。是的,在我问起之后,我就发现了这个简介。类似于.bashrc
James
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.