當前位置:首頁 > IT技術 > 系統(tǒng)服務 > 正文

powershell自定義快捷鍵
2021-09-05 09:02:15

前情提要:powershell命令行的默認快捷鍵巨難用。
好在powershell提供了可以自定義快捷鍵的方式。
核心在于PSReadLine這個模塊,如果你是powershell7.1版本的話,這個模塊是自帶的。如果低于7.1版本,可以運行這條命令安裝Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck,(本人沒有試驗,不負責哈哈)

大眾需求

我想一般的Linux用戶應該時熟悉了bash的快捷鍵(其實bash的快捷鍵和emcas是一樣的),所以想要在powershell獲得同樣的體驗。其實powershell早就為我們想到了。

# 在powershell中執(zhí)行此命令
Set-PSReadLineOption -EditMode Emacs

但是以上命令在powershell退出后就失效了,所以我們需要把它寫在powershell的啟動文件中,操作如下的:

# 打開powershell的啟動文件
notepad $PROFILE
# 將下面的命令復制到文件中,保存文件
Set-PSReadLineOption -EditMode Emacs

重新打開powershell,你會發(fā)現(xiàn)一切都以改變
更多PSReadLineOption信息,請點擊此處

極客需求

核心在于這條命令Set-PSReadLineKeyHandler

  1. 查看當前系統(tǒng)所有已經(jīng)綁定的鍵(Key)和功能(Function)

    # 查看當前系統(tǒng)所有已經(jīng)綁定的鍵
    Get-PSReadLineKeyHandler -Bound
    # 或者使用以下快捷鍵
    Ctrl + Alt + ?
    
  2. 查看當前系統(tǒng)所有未綁定的Function

    # 查看當前系統(tǒng)所有未綁定的Function
    Get-PSReadLineKeyHandler -Unbound
    
  3. 自定義你想綁定的鍵和功能

    # -Chord:你想要綁定的鍵(按鍵區(qū)分大小寫)
    # -Function:你想要綁定的功能
    # 該命令還支持將鍵和腳本綁定,選項是:-ScriptBlock
    # 下面這條命令表示將刪除命令行綁定到快捷鍵Ctrl + u
    Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
    

    更多Set-PSReadLineKeyHandler信息,請點擊這里

  4. 以上的設定的鍵綁定僅能維持在powershell會話運行期間,如果powershell退出,將會失效。為了永久保存,我們需要將該命令寫入到powershell的啟動文件中

    # 打開powershell的啟動文件
    notepad $PROFILE
    # 將下面的命令復制到文件中,保存文件
    Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
    

參考文獻

about_PSReadLine
PSReadLineOption
Set-PSReadLineKeyHandler

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務立即開通 >