我想说
CTRL + D退出Powershell控制台
和
CTRL + L清除屏幕
就像在bash里一样。
到目前为止,我已经看到我们可以定义
function ^D {exit}
字符串
但这意味着我必须做CTRL+D,然后按回车键才能工作。
而且,它甚至不让我定义
function ^L {exit}
型
有没有办法在默认的PowerShell控制台中添加这些键绑定?
我想说
CTRL + D退出Powershell控制台
和
CTRL + L清除屏幕
就像在bash里一样。
到目前为止,我已经看到我们可以定义
function ^D {exit}
字符串
但这意味着我必须做CTRL+D,然后按回车键才能工作。
而且,它甚至不让我定义
function ^L {exit}
型
有没有办法在默认的PowerShell控制台中添加这些键绑定?
7条答案
按热度按时间ldioqlga1#
老问题,但使用PowerShell 5.1和PowerShell Core 6.x及更高版本:
字符串
tcomlyy62#
有一个新的库
PSReadline
for Powershell v3.0,它模拟了GNUBash标签完成和键绑定。甚至CTRL + R的反向增量搜索也可以工作。正是我想要的。iqjalb3h3#
如果您不介意依赖外部程序,可以使用AutoHotKey执行以下操作:
字符串
上面的代码可以在PowerShell或CMD控制台上使用,否则我唯一能想到的就是用
SetWindowsHookEx
来实现一些P/PockeMagic。**编辑:**修复AutoHotkey脚本通过快捷键传递到其他程序。
j8yoct9x4#
键绑定由PSReadLine控制。PSReadLine的默认编辑模式是Windows样式,其中Ctrl-D是未绑定的。
将编辑模式设置为Emacs
字符串
或绑定密钥
型
slsn1g295#
还有一个名为PSEventing的PowerShell管理单元,可以让你做到这一点(请参阅首页上的演示:
http://pseventing.codeplex.com/releases/view/66587
字符串
qzwqbdag6#
您可以将
PSReadline
设置为emacs
模式,它不仅会以^D
退出,您还可以以^A
进入行首,以^E
进入行尾在您的个人资料中包含此内容:
Set-PSReadlineOption -EditMode Emacs
我使用的是
cmder
,它使用了ConEmu
,在这种情况下,找到profile.ps1
和<appdir>/vendor/
,你可以添加到这个文件中。否则,您可以添加到
powershell
加载它的默认位置。One of tutorials HERE.8iwquhpp7#
Powrshell 5.x和7.x
字符串
把下面的线:
型
reload $PROFILE
型