作業系統為 Win10,OS組建為 19044.2075
看了官方文件,說是要新增 powershell.config.json
去自訂,新增此檔案的位置分兩種,一個是設定給所有使用者的$PSHOME
,一個是個別使用者的路徑,使用Split-Path $PROFILE.CurrentUserCurrentHost
去尋找
我在 powershell 底下輸入$PSHOME
,出來的路徑是C:\Program Files\WindowsApps\Microsoft.PowerShell_7.2.6.0_x64__8wekyb3d8bbwe
,這資料夾底下已經有個powershell.config.json
,但要把編輯過的檔案儲存時卻一直沒辦法成功,會跳出拒絕存取路徑的錯誤訊息(VS 2022 preview),或是"您未擁有開啟此檔案的權限,請向檔案的擁有者或系統管理員詢問並取得權限"(記事本),即使我使用系統管理員的身分執行 VS 2022 preview 或記事本,要存檔時依舊會跳出同樣的錯誤訊息。
使用Split-Path $PROFILE.CurrentUserCurrentHost
查出來的路徑是C:\Users\username\OneDrive\文件\PowerShell
,在這邊雖然可以編輯檔案,但沒起到停用 ctrl+v 的效果,檔案的內容如下:
{
"Microsoft.PowerShell:ExecutionPolicy": "RemoteSigned",
"WindowsPowerShellCompatibilityModuleDenyList": [
"PSScheduledJob",
"BestPractices",
"UpdateServices"
],
"actions": [
{
"command": "paste",
"keys": "shift+insert"
}
]
}
也嘗試了Remove-PSReadLineKeyHandler -Chord Ctrl+v
的方法,一樣沒效果,還是可以繼續貼上
有試著在C:\Users\username\OneDrive\文件\PowerShell
底下新增Microsoft.PowerShell_profile.ps1
檔案,然後編輯文件把Remove-PSReadLineKeyHandler -Chord Ctrl+v
加進去,把 Windows Terminal 關掉重開之後,Get-PSReadLineKeyHandler -Chord Ctrl+v
不再顯示ctrl+v
對應的貼上函式資訊了,但依舊能用ctrl+v
複製貼上
意外發現原來 powershell 還能改用 vimode,Set-PSReadLineOption -EditMode vi
,也就是下指令時能按ESC
變成 normal 模式,之後就能在一串文字之間用 vi 指令移動
Remove-PSReadLineKeyHandler -Chord Ctrl+v
Remove-PSReadLineKeyHandler -Chord Ctrl+v
設定
(Ctrl+,) {
"command": "paste",
"keys": "ctrl+v"
},
參考資料:
How to Use Windows Terminal Keyboard Shortcuts - All Things How