Эквивалент Ctrl + R в Powershell?

В bash я могу сделать Ctrl + R и начать вводить команду для поиска в моей истории.

Как это сделать в PowerShell?

Есть ли способ привязать ключ к чему-то вроде?

function GH($str) {get-history | select-string $str}

Но мне нужно было бы перечитать строку для каждого ввода символа или удалить, чтобы вывести соответствующие команды, такие как Ctrl + R делает.

Возможно ли это?

12
задан 22 July 2017 в 04:56
5 ответов

Вы можете исправить это, приняв модуль PSReadLine.

Смотрите статью в блоге Hey, Scripting Guy! об этой баснословной реализации readline для PowerShell.

В частности, использование Ctrl+Alt+(Shift)+? для отображения всех кейбингов.

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.0.10240.16384
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   10.0.10240.16384
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3

Ctrl+R

PS C:\> Get-Module -ListAvailable
bck-i-search: mo_

Ctrl+Alt+(Shift)+S

Key                  Function                 Description
---                  --------                 -----------
Ctrl+r               ReverseSearchHistory     Search history backwards interactively
Ctrl+s               ForwardSearchHistory     Search history forward interactively

Короче говоря: либо установите этот модуль вручную, либо перейдите на Windows PowerShell v5.

.
10
ответ дан 2 December 2019 в 21:34

Введите поисковое слово и нажмите F8, это произведет поиск в истории команд.

Здесь есть очень полезный список ярлыков в PowerShell .

.
5
ответ дан 2 December 2019 в 21:34

Также есть графический поиск по клавише F7. При нажатии отобразится всплывающее окно, которое вы можете прокрутить, чтобы найти команду, которая была выполнена ранее. Нажатие клавиши Enter при наведении курсора на строку приведет к ее повторному запуску.

0
ответ дан 2 December 2019 в 21:34

I don't know when this got added, but on my non-customized, updated, Windows 10, it's built in. Hit ctrl+r for reverse history search, it works great.

enter image description here

4
ответ дан 2 December 2019 в 21:34

Вы также можете запустить свою команду, поставив символ # перед частичным текстом поиска команды, которую вы ищете, а затем нажмите кнопку tap (при необходимости несколько раз) для поиска по сеансу. история.

0
ответ дан 2 December 2019 в 21:34

Теги

Похожие вопросы