PowerShell เทียบเท่ากับ Ctrl + R?


13

ในทุบตีฉันสามารถทำCtrl+ Rและเริ่มพิมพ์คำสั่งเพื่อให้ค้นหาประวัติของฉัน

ฉันจะทำอย่างนั้นใน powershell ได้อย่างไร

มีวิธีผูกกุญแจกับสิ่งที่ชอบหรือไม่

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

แต่ผมจะต้องอีกครั้งอ่านสตริงสำหรับแต่ละอินพุตถ่านหรือเอาออกคำสั่งที่ตรงกับการส่งออกเช่นCtrl+ Rไม่

เป็นไปได้ไหม

คำตอบ:


11

คุณสามารถแก้ไขได้โดยใช้โมดูลPSReadLine

ดูบทความเกี่ยวกับ Hey, Guy Scripting! บล็อกเกี่ยวกับการใช้ 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- <whwh> จากนั้นพิมพ์ get- <F8> และมันวนรอบคำสั่งสุ่มเพียงหนึ่งหรือสองคำสั่งจากประวัติของฉันหรือไม่ ฉันไม่รู้ว่ามันกำลังทำอะไรอยู่ ตัวอย่างเช่นฉันเพิ่งพิมพ์ get-childitem และวิ่งจากนั้นทันทีหลังจากพิมพ์ get-c <f8> และฉันไม่ได้อะไรเลย บางทีเซสชั่นของฉันจะเลอะ?
red888

ใช้งานได้ 100% สำหรับฉันนี่คือการติดตั้ง WMF 5
Sam Cogan

5

ฉันไม่ทราบว่าจะมีการเพิ่มสิ่งใด แต่ใน Windows 10 ที่ไม่ได้รับการปรับแต่งอัปเดตแล้วฉันจะได้รับการสร้างขึ้นกด ctrl + r เพื่อค้นหาประวัติการย้อนกลับ

ป้อนคำอธิบายรูปภาพที่นี่


ฉันยังทำงานบน win10 Ctrl + R ทำงานใน powershell แต่ไม่ทำงานในหน้าต่าง cmd
dudu

แน่นอน แต่ทำไมคุณต้องใช้ cmd.exe
Raúl Salinas-Monteagudo

0

นอกจากนี้ยังมีการค้นหากราฟิกภายใต้คีย์ F7 เมื่อกดมันจะแสดงป๊อปอัพซึ่งคุณสามารถเลื่อนเพื่อค้นหาคำสั่งที่ถูกดำเนินการก่อนหน้านี้ การกด Enter ขณะที่เคอร์เซอร์วางอยู่บนบรรทัดนั้นจะดำเนินการอีกครั้ง


0

คุณยังสามารถเริ่มคำสั่งของคุณโดยใส่อักขระ # ไว้ด้านหน้าข้อความค้นหาบางส่วนของคำสั่งที่คุณต้องการจากนั้นกดแตะหลังจากนั้น (หลายครั้งถ้าจำเป็น) เพื่อค้นหาประวัติเซสชัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.