當(dāng)前位置:首頁(yè) > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

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

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

大眾需求

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

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

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

# 打開(kāi)powershell的啟動(dòng)文件
notepad $PROFILE
# 將下面的命令復(fù)制到文件中,保存文件
Set-PSReadLineOption -EditMode Emacs

重新打開(kāi)powershell,你會(huì)發(fā)現(xiàn)一切都以改變
更多PSReadLineOption信息,請(qǐng)點(diǎn)擊此處

極客需求

核心在于這條命令Set-PSReadLineKeyHandler

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

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

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

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

    更多Set-PSReadLineKeyHandler信息,請(qǐng)點(diǎn)擊這里

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

    # 打開(kāi)powershell的啟動(dòng)文件
    notepad $PROFILE
    # 將下面的命令復(fù)制到文件中,保存文件
    Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
    

參考文獻(xiàn)

about_PSReadLine
PSReadLineOption
Set-PSReadLineKeyHandler

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

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >