话说PowerShelll自建立以来,已经历了4个版本,默认的PowerShell控制台功能一直在改善(比如Tab键的智能提示更加灵敏和强大),但是它的外观,蓝底白字,稳重大方,不曾改变。用过最新版的PowerShell ISE的朋友们,可能也已经注意到了,ISE中内嵌的控制台支持关键字高亮。那能不能让PowerShell默认的控制台也支持?
先看一张效果图吧
是谁给了它动力,是PSReadLine,一个由PowerShell团队成员之一的Jason Shirk操刀实现的第三方小插件。
你可能会说,这有什么大不了的,体验关键字高亮俺为什么不直接在ISE中编辑呢?不就是王八掉进水里换了个马甲吗?话虽如此,但是PSReadLine的方便,在于在它绚丽的光环后面,还有一颗“为人民服务”的爱心,我就任举几个例子吧。
PSReadLine 的亮点
- 关键字高亮,不多说,上面已经演示过了。
- 支持Windows和Emacs两种编辑模式,你可以使用Set-PSReadlineOption命令来切换。Emacs尤其适合那些具有Linux Shell习惯的朋友。
比如这样的智能提示: - 支持CTRL+V直接粘贴
- 支持CTRL+Z取消
- 强大的快捷键事件绑定与自定义,比如在控制台敲一个双引号,成对出现一对双引号
- Ctrl+Shift+LeftArrow选择光标前面的单词
- 短杠+(Ctrl+Space)直接返回命令执行后对象名称,并且支持过滤
PSReadLine安装
安装非常简单,只需一行命令:
Install-module PSReadline
如果你的控制台提示说Install-module不能识别为有效的命令或者函数,那就对了,请再阅读PSGet吧。
本文链接: https://www.pstips.net/let-psreadline-light-ps-console.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
广播: PSGet在线安装和搜索第三方PowerShell组件 | PowerShell 中文博客
有什么方法可以不用每次开启PowerShell都执行一遍 Install-module psreadline?
你在控制台中输入:$profile,回车会输出一个配置文件路径,默认不存在。照着这个路径,把你想执行的脚本放进去,每次打开控制台都会运行的。
https://github.com/lzybkr/PSReadLineREADME
没有 Readline 的 Shell 不是好 Shell!
其实有的时候,也可以不用,毕竟绚丽的背后也会有性能的代价。
比起 Emacs 编辑模式带来的效率,性能不算个啥
这么理解,也对。
psreadline,使用心得:1 这玩意是个好东西。2任何ps模块都应该有个命令,版本号命令,用于识别和升级模块版本。这个没有,也没有地方看版本号。或许只能查源文件。3目前这个玩意有如下bug:3.1 不能自动识别中英文,即把中文都识别成英文,导致半个汉字现象。3.2 tab不灵,用tab补全识别文件名时,对中文后面有英文的无法识别。总结,目前是鸡肋。
最新的Powershell 5.0 已经内置了PSReadLine这个模块了