Кто-нибудь знает способ иметь функцию поиска обратной команды bash [Ctrl-r]
(и [Ctrl-o]
), которые так полезны, в Windows PowerShell?
C-r
это более мощная arrow up
манипуляция с историей, она похожа на emacs C-r
в том, что она ищет внутри команд, которые вы ввели ранее. Затем C-o
выполняет эту команду и сразу же помещает в строку следующую команду после этого. Так что вы можете эффективно повторять пройденные серии команд. Также он просматривает сохраненную историю, а не историю сеанса. ( ~/.bash_history
файл). Что бесконечно полезно.
Благодарю.
ps: в качестве бонуса было бы здорово и завершение вкладки, не работающее циклами.
bash
keyboard-shortcuts
powershell
history
v.oddou
источник
источник
PSConsoleHostReadline
который может быть полезен. Хорошее место для начала было бы использовать PSReadLine , который использует этот хук. PSReadLine не поддерживает ctrl-o, но поддерживает ctrl-r (предположительно - у меня это не сработало). Я могу взглянуть на реализацию Ctrl-O на Рождество, потому что это звучит полезно.Ответы:
Введите первые буквы команды и нажмите F8.
Или вы можете нажать F7и ввести первые буквы.
Более подробная информация: http://technet.microsoft.com/en-us/magazine/ff678293.aspx
источник
WMF 5.0 RTM , который включает в себя Windows PowerShell 5 , теперь поддерживает ту же функцию поиска обратных команд bash
CTRL+R
. Я использовал это в Windows 10 Anniversary Edition, и моя память мышц bash очень счастлива.Поддержка на самом деле исходит от модуля PowerShell PSReadLine, который, как я вижу, упоминался в некоторых комментариях вопроса. Хорошо, что PSReadLine теперь включен в базовую установку WMF 5.0 , по крайней мере, в Windows 10.
Если вы используете PowerShell 3 или более позднюю версию , вы также можете установить PSReadLine и получить функцию поиска по истории.
Примечание: я не узнал, как заставить это работать в ISE, поскольку
CTRL+R
сопоставлено с чем-то другим (Показать / Скрыть Панель Сценария).источник
Для управления вашей историей вы можете использовать командлеты истории, перечислите их с помощью этой команды:
Поиск в вашей истории делается следующим образом, не стесняйтесь сделать функцию, чтобы сократить ее:
источник