前情提要: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
-
查看當前系統(tǒng)所有已經(jīng)綁定的鍵(Key)和功能(Function)
# 查看當前系統(tǒng)所有已經(jīng)綁定的鍵 Get-PSReadLineKeyHandler -Bound # 或者使用以下快捷鍵 Ctrl + Alt + ?
-
查看當前系統(tǒng)所有未綁定的Function
# 查看當前系統(tǒng)所有未綁定的Function Get-PSReadLineKeyHandler -Unbound
-
自定義你想綁定的鍵和功能
# -Chord:你想要綁定的鍵(按鍵區(qū)分大小寫) # -Function:你想要綁定的功能 # 該命令還支持將鍵和腳本綁定,選項是:-ScriptBlock # 下面這條命令表示將刪除命令行綁定到快捷鍵Ctrl + u Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
-
以上的設定的鍵綁定僅能維持在powershell會話運行期間,如果powershell退出,將會失效。為了永久保存,我們需要將該命令寫入到powershell的啟動文件中
# 打開powershell的啟動文件 notepad $PROFILE # 將下面的命令復制到文件中,保存文件 Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
參考文獻
本文摘自 :https://www.cnblogs.com/