Có cách nào để tôi có thể sử dụng khóa!, Thay vì khóa F8 trong Powershell không?


1

Tôi chưa quen với Powershell và tôi đang cố gắng tìm xem liệu tôi có thể sử dụng !thay vì F8quét lại lịch sử lệnh và trả về lệnh khớp với văn bản trên dòng lệnh hay không.

Tôi đang sử dụng Surface Pro với Type cover, và nó thực sự là một nỗi đau để gõ F8hoặc bất kỳ F*.

Tôi thấy !trong Linux thực sự tiện dụng và tôi tự hỏi liệu tôi có thể thay đổi liên kết khóa hoặc ánh xạ lại chức năng tương tự F8để !thay thế.


Bạn có thể sử dụng #text<TAB>để tìm kiếm theo lịch sử PowerShell.
PetSerAl

Câu trả lời:


1

Cài đặt PSReadLine . Thêm một cái gì đó như sau vào hồ sơ $ của bạn:

if ($host.Name -eq 'ConsoleHost')
{
    Import-Module PSReadline
    Set-PSReadlineKeyHandler -Key '!' -Function ReverseSearchHistory
}

Các Set-PSReadlineKeyHandlerthay đổi chìa khóa lịch sử tìm kiếm từ giá trị mặc định ctrl+ rđể !.


HistorySearchBackwardlà chức năng chính xác F8 theo mặc định btw - không ReverseSearchHistory.
Nilzor

0

Tôi không nghĩ vậy. Powershell sử dụng !như một bí danh cho nottoán tử.

Điều thú vị là nếu bạn chạy aliaslệnh, nó sẽ liệt kê tất cả các bí danh được xây dựng, tuy nhiên !không được liệt kê. Vì vậy, tôi không nghĩ rằng nó có thể được ánh xạ lại. Nó phải được mã hóa cứng, vì nó được sử dụng rất thường xuyên.


Tôi đồng ý với Keltari - !được coi là toán tử phủ định có điều kiện. Mặc dù vậy, bạn có thể xem mô-đun PSReadline - hãy xem Set-PSReadlineKeyHandlercmdlet.
megamorf
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.