Потужний еквівалент Ctrl + R?


13

У bash я можу зробити Ctrl+ Rі почати вводити команду, щоб вона шукала мою історію.

Як це зробити в панцирі?

Чи є спосіб прив’язати ключ до чогось подібного?

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

Але мені потрібно буде перечитати рядок для кожного введення char або видалити для виведення відповідних команд, таких як Ctrl+ R.

Чи можливо це?

Відповіді:


11

Ви можете це виправити, прийнявши модуль PSReadLine .

Дивіться статтю про Гей, сценарій Хлопець! блог щодо цієї баш натхненної реалізації 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.


5

Введіть пошуковий термін, а потім натисніть клавішу F8, це здійснить пошук вашої історії команд.

Там дуже корисний список ярликів PowerShell тут .


Ви самі це пробували? Це ніколи насправді не працювало для мене або лише половину часу. Наприклад, я набираю купу команд get- <що-небудь>. Тоді введіть get- <F8>, і він проходить лише одну або дві випадкові команди з моєї історії? Я не знаю, що, до чорта, це робить. Наприклад, я просто набрав get-childitem і запустив його потім відразу після типу get-c <f8> і нічого не отримаю. Можливо, мій сеанс зіпсований?
red888

Для мене працює 100% часу, це встановлено з WMF 5
Сем Коган

5

Я не знаю, коли це було додано, але в моїй не налаштованій оновленій Windows 10 він вбудований. Натисніть клавішу ctrl + r для зворотного пошуку історії, це чудово працює.

введіть тут опис зображення


Я також працюю над win10. Ctrl + R працює в shellhell, але не працює у cmd вікні.
дуду

Звичайно, але навіщо вам потрібно використовувати cmd.exe ??
Рауль Салінас-Монтеагудо

0

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


0

Ви також можете запустити свою команду, поставивши символ # перед текстом часткового пошуку потрібної команди, а потім натисніть на піктограму (кілька разів, якщо потрібно) для пошуку історії сесій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.