前情提要: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
-
查看當(dāng)前系統(tǒng)所有已經(jīng)綁定的鍵(Key)和功能(Function)
# 查看當(dāng)前系統(tǒng)所有已經(jīng)綁定的鍵 Get-PSReadLineKeyHandler -Bound # 或者使用以下快捷鍵 Ctrl + Alt + ?
-
查看當(dāng)前系統(tǒng)所有未綁定的Function
# 查看當(dāng)前系統(tǒng)所有未綁定的Function Get-PSReadLineKeyHandler -Unbound
-
自定義你想綁定的鍵和功能
# -Chord:你想要綁定的鍵(按鍵區(qū)分大小寫) # -Function:你想要綁定的功能 # 該命令還支持將鍵和腳本綁定,選項(xiàng)是:-ScriptBlock # 下面這條命令表示將刪除命令行綁定到快捷鍵Ctrl + u Set-PSReadLineKeyHandler -Chord Ctrl+u -Function DeleteLine
-
以上的設(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)
本文摘自 :https://www.cnblogs.com/