web-dev-qa-db-ja.com

Ctrl + Rに相当するPowershell?

バッシュでできる Ctrl+R コマンドを入力して、履歴を検索します。

PowerShellでそれを行うにはどうすればよいですか?

キーを何かにバインドする方法はありますか?

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

しかし、私は各文字入力の文字列を再読み取りするか、一致するコマンドを出力するために削除する必要があります Ctrl+R します。

これは可能ですか?

14
red888

PSReadLine モジュールを採用することでこれを修正できます。

PowerShellのこのbashにインスパイアされたreadlineの実装については、 Hey、Scripting Guy!ブログの記事 を参照してください。

特に、 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にアップグレードします。

11
M.M.

検索用語を入力してF8キーを押すと、コマンド履歴が検索されます。

PowerShellショートカットの非常に便利なリスト here があります。

5
Sam Cogan

これがいつ追加されたかはわかりませんが、カスタマイズされていない、更新されたWindows 10には組み込まれています。逆履歴検索を行うには、Ctrl + Rキーを押してください。

enter image description here

5
skrebbel

F7キーの下にグラフィカル検索もあります。押すとポップアップが表示され、スクロールして前に実行したコマンドを検索できます。カーソルを行の上に置いた状態でEnterキーを押すと、行が再実行されます。

0
termil0r

探しているコマンドの部分的な検索テキストの前に#文字を置いてコマンドを開始し、その後(必要に応じて複数回)タップしてセッション履歴を検索することもできます。

0
Tolga