PowerShellでのbashのCtrl-rと同等


19

Windows PowerShellで非常に便利なbash [Ctrl-r](および[Ctrl-o])の後方コマンド検索機能を持つ方法を知っている人はいますか?

C-rはより強力なarrow up履歴操作であり、C-r以前に入力したコマンド内を逆方向に検索するという点でemacsのようなものです。次にC-o、そのコマンドを実行し、すぐに次のコマンドを行に配置します。これにより、渡された一連のコマンドを効率的に繰り返すことができます。また、セッション履歴ではなく、保存された履歴を検索します。(~/.bash_historyファイル)。これは非常に便利です。

ありがとう。

ps:ボーナスとして、サイクルで動作しないタブの補完もひどいでしょう。


ctrl Oは何を複製したいのですか?詳細情報私たちは常に良い...
オースティンTフランス語

はい

2
この機能がサポートされているとは思わない。PowerShell 3にはPSConsoleHostReadline便利なフックがあります。開始する適切な場所は、そのフックを使用するPSReadLineを使用することです。PSReadLineはctrl-oをサポートしていませんが、ctrl-rをサポートしています(おそらく-私にとってはうまくいきませんでした)。クリスマスにctrl-oを実装することを検討しているかもしれません。
ダンフ

2
ああ、PSReadLine、これは私の答えのようです。答えとして投稿してください。Coはありませんが、Crが最も重要です。また、ボーナスで欲しかったタブ補完の微調整もあります。
v.oddou

2
PSReadlineの作成者-@ v.oddou-Ctrl + Kは、EmacsモードでKillLineにバインドする必要があります。Ctrl + Rは、最初に何かを入力しても、または入力しなくても機能します。Ctrl + Oを追加できて嬉しいです。githubで問題を開いてください。
ジェイソンシャーク

回答:


15

コマンドの最初の文字を入力し、を押しF8ます。

またはF7、最初の文字を押して入力することもできます。

詳細:http : //technet.microsoft.com/en-us/magazine/ff678293.aspx


F7は何もしません...
ダニエルK.

詳細を教えていただけますか?他の人にも役立つかもしれません。PowershellのどのバージョンとWindowsのどのバージョンですか?デフォルトのPowershellはかなり制限されています。UXを向上させるには、MobaXtermまたはConEmuMaximus 5を使用することをお勧めします
georgik

@CatBoss F7はcmdで動作します
-phuclv

1
質問はPowerShellの....についてですのでLưuVĩnhPhúc@そして答えは、そう言う必要がある
ダニエルK.

以下の答えを参照してください-あなたはPowerShellの上にある場合5+ F8であなたの時間を無駄にしない
ニコラスDiPiazza

6

Windows PowerShell 5を含むWMF 5.0 RTMは、bashの同じ逆コマンド検索機能をサポートするようになりましたCTRL+R。私はこれをWindows 10 Anniversary Editionで使用していますが、私のbash muscleメモリは非常に満足しています。

サポートは、質問のコメントの一部で言及されているPowerShellモジュールPSReadLineから実際に提供されます。良いことは、PSReadLine がベースのWMF 5.0インストール含まれているよう見えることです。少なくともWindows 10ではそうです。

PowerShell 3以降を実行している場合は、PSReadLineインストールして、履歴検索機能を取得できます。

注: ISEでこれを動作CTRL+Rさせる方法は、他の何か(スクリプトペインの表示/非表示)にマップされているので、まだわかりません。


4

履歴を操作するには、historyコマンドレットを使用し、次のコマンドでリストします。

Get-Command *-history

履歴の検索は次のように行われます。履歴を短縮する関数を作成してください。

Get-history | Select-String "command"

function f ($Name) { Get-history | Select-String $name }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.