问题标签 [psreadline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
535 浏览

powershell - 更改 PowerShell PSReadLine MenuComplete 函数的颜色

我目前正在使用PSReadLinePowerShell 中的模块选项。特别是我正在设置一个自定义颜色主题。我已经能够使用以下语法设置我需要的大部分颜色作为示例: Set-PSReadLineOption -TokenKind Variable -ForegroundColor DarkYellow

但是,当我通过按下使用模块的MenuComplete功能时,建议会突出显示,我似乎无法找到更改这些颜色的方法。PSReadLineCtrl+SpacebarDarkGreen

0 投票
1 回答
585 浏览

powershell - PSConsoleReadLine 异常

'PSReadLine' cmdlet 不再起作用:

昨天,我收到了此更新:2018 年 6 月 12 日—KB4284835(操作系统内部版本 17134.112)。在此之前,我从来没有遇到过任何问题PSReadLine,我真的需要它来工作......

  • PSVersion 5.1.17134.112
  • Windows 10 Home Version 1803 OS Build 17134.112
0 投票
1 回答
9943 浏览

powershell - 找不到与参数名称“TokenKind”匹配的参数

我已经根据这个博客美化了我的 Powershell ,但是OperatorParameter是灰色的,如下所示:

在此处输入图像描述 在此处输入图像描述

所以我通过以下方式更改它们的颜色Set-PSReadlineOption

但得到以下错误:

Set-PSReadLineOption :找不到与参数名称 'TokenKind' 匹配的参数。</p>

所在位置 行:1 字符: 22

  • Set-PSReadlineOption -TokenKind Operator -ForegroundColor Yellow
    • CategoryInfo : InvalidArgument: (:) [Set-PSReadLineOption],ParameterBindingException
    • FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.SetPSReadLineOption

但是 的帮助文档Set-PSReadlineOption显示它有一个TokenKind参数,该参数又可以Operator作为它的参数。

我很困惑为什么会发生这个错误。

我的powershell版本是

在此处输入图像描述

感谢您的任何建议!

0 投票
2 回答
1216 浏览

powershell - 在带有psreadline -EditMode VI的powershell中如何确保光标在浏览历史记录时从行尾开始

我正在通过以下方式使用 powershell VI 模式

能够使用 VI 命令编辑该行真是太棒了,但是有一件事很烦人。当使用向上和向下箭头浏览历史时,光标总是从行首而不是行尾开始。即:如果我的历史记录中有以下命令

那么我希望光标(由管道表示 | )就像

而不是

有没有办法设置这个?

0 投票
0 回答
90 浏览

powershell - 用于在 PowerShell PSReadLine 的 MenuComplete 函数上导航的 HJKL

我目前对分配给我的键的PSReadLine模块功能感到满意,并且正在寻找一种使用 HJKL 键在提供的菜单中导航的方法。我目前在我的个人资料顶部有这个:MenuCompleteTab

我尝试了以下方法:

我希望至少可以使用组合模拟向上箭头键Ctrl+K,但无济于事,因为UpArrow它未被识别为功能。

如果允许我做梦,我愿意;

  1. 开始MenuComplete使用Tab,
  2. 使用 HJKL 移动我的选择,以及
  3. 再次用于Tab确认选择和关闭MenuComplete
0 投票
1 回答
2236 浏览

powershell - 如何在 Powershell 控制台中为 PSReadLineOption v2 使用 ANSI 转义序列颜色代码?

我正在尝试使用 Powershell (v5.1) 的内置 PSReadLine (v2) 模块来自定义 Powershell 控制台文本颜色。

PSReadLine 的早期版本允许您简单地指定任何给定令牌类型-Background-Foreground参数。但情况已不再如此。PSReadLine v2 引入了使用 ANSI 转义码来定义颜色行为。我认为这可以提供更大的灵活性,但它要完成的任务非常复杂。有关这些代码的文档到处都是,并且高度依赖于主机应用程序的实现,这使得找到答案变得更加困难。

简单地为文本前景着色(相对)很容易,例如:

然而,如果你想引入装饰,比如粗体、下划线,或者我特别感兴趣的背景颜色和这些的组合,事情就会变得更加复杂。

SelectionColor(突出显示具有不同背景颜色的选定文本)的默认值是`e[35;43m. 但是这个大提示仍然不足以泄露我正在寻找的语法秘密。

Set-PSReadLineOption的文档非常实事求是地指出:

您可以指定其他转义序列,包括:
256 色
24 位色
前景、背景或两者
反色、粗体

...但没有提供示例。

您将如何指定定义前景色和背景色或任何其他颜色和彩色装饰组合的转义码?

我发现有助于了解这些转义码的来源是:http: //jafrog.com/2013/11/23/colors-in-terminal.html https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters

但我无法完全理解这些。

解决了:

感谢@LotPings。我错误地假设转义码只能给他们一定数量的选项。事实上,我可以指定任意数量(或实现目标所需的数量)。例如:

... 将产生单词test,带有粉红色前景和紫色背景下划线。分解它:

在此处输入图像描述

0 投票
1 回答
270 浏览

powershell - Powershell:如何在离线计算机中安装 PSReadline 模块

我需要在离线计算机上安装 PSReadline 模块

使用 Windows 7 SP1 和 powershell 5.1

我有另一台连接到互联网的计算机。

您能否解释一下如何下载相关文件以及如何在离线计算机上安装它们?

0 投票
1 回答
505 浏览

powershell - PowerShell 将历史记录作为跨会话的完整对象

我是在 Win 10 下使用 PowerShell 5.1 的新手。我正在修补历史。到目前为止,我设法在与PSReadline. *

但这是一个“有限”的持久历史,因为只有命令保存在文本文件中,在启动新会话时会读取该文件。因此,有关HistoryInfo对象的很多信息都丢失了,尤其是StartExecutionTime。然后,

  1. Get-Content (Get-PSReadlineOption).HistorySavePath给出所有没有“时间戳”的命令,并且
  2. Get-History给出带有时间戳的命令,但仅适用于当前会话。

我习惯了historyin bash,这两个点都是正确的。

这个旧文档(2009) 显示了一种可能的解决方法。在离开会话之前,我设法导出了所有历史信息Get-History | Export-Clixml $env:PSDIR'\my_history.xml'Import-Clixml $env:PSDIR'\my_history.xml' | Add-History在新会话开始时执行会恢复完整的历史记录,包括时间戳。

我想,缺少的是:

  1. 一种在关闭会话时自动导出历史记录的方法。我什至不知道这是否可能。

  2. 导入后删除历史记录中的第一行,因为它包含导入命令本身。我没有在这方面工作,但我想我可以处理它。 没有必要。如果导入命令在启动脚本中执行,它不会进入历史记录。

这是实现预期结果的可行方法吗? 如果是这样,我怎么能化身项目1?

有没有其他选择?


* 虽然我无法让它在 PS ISE 中工作

0 投票
1 回答
174 浏览

powershell - Powershell >6.0... 带有 ANSI 序列 (PSReadLine) 的命令行背景颜色?如何?

在 PowerShell >6.0 中,我可以使用以下命令更改命令行 FOREGROUND 颜色:

但是如何用 RGB 改变背景颜色???(#RRGGBB)
我可以看到一些带有 ASCII 控制台序列的示例,
但没有看到带有 RGB 格式的示例

0 投票
1 回答
100 浏览

powershell - 有没有办法将 CTRL+[ 映射到 Powershell 中转义?

我发现在 powershell 中有一个 vi 模式,但是它似乎 CTRL+[ 没有像在 vi 和 bash 中那样映射到转义。我将设置添加到我的个人资料中,如下所示:

我在这里通读了文档,没有发现任何与我的问题相关的内容。我正在考虑的当前解决方案是一个 AutoHotKey 脚本,它在 Powershell 窗口存在时重新映射键。请让我知道是否有人知道实现此目的的更本地化的方法。我还认为通过 regedit 或类似的东西进行系统范围的更改是行不通的,因为我需要 CTRL+[ 才能在 powershell 窗口之外正常运行。