windows PowerShellで非常に便利なbash [Ctrl-r]
(および[Ctrl-o]
)の後方コマンド検索機能を使用する方法を知っている人はいますか?
C-r
は、より強力なarrow up
履歴操作です。以前に入力したコマンド内を逆方向に検索するという点で、emacsのC-r
に似ています。次に、C-o
はそのコマンドを実行し、直後の次のコマンドをすぐに行に配置します。これにより、渡された一連のコマンドを効率的に繰り返すことができます。また、セッション履歴ではなく、保存された履歴を調べます。 (~/.bash_history
ファイル)。これは非常に便利です。
ありがとう。
ps:おまけとして、サイクルによってタブ補完が機能しないのも厄介です。
コマンドの最初の文字を入力して押します F8。
代わりにあなたは押すことができます F7 最初の文字を入力します。
詳細: http://technet.Microsoft.com/en-us/magazine/ff678293.aspx
Windows PowerShell 5 を含む WMF 5.0 RTM は、bash CTRL+R
と同じ逆コマンド検索機能をサポートするようになりました。私はこれをWindows 10 Anniversary Editionで使用しており、私のbash muscle memoryはとても満足しています。
サポートは、実際にはPowerShellモジュール PSReadLine から提供されます。これは、質問のコメントの一部で言及されているようです。良い点は、PSReadLineが基本のWMF 5.0インストールに含まれているように見える少なくともWindows 10にあることです。
PowerShell 3以降を実行している場合は、 install PSReadLine を使用して履歴検索機能を取得することもできます。
注:CTRL+R
が他のものにマップされているため、これをISEで機能させる方法がわかりません(スクリプトペインの表示/非表示)。
履歴を操作するには、履歴コマンドレットを使用し、次のコマンドで一覧を表示します。
Get-Command *-history
履歴の検索は次のように行われます。履歴を短縮する関数を作成してください:
Get-history | Select-String "command"
function f ($Name) { Get-history | Select-String $name }