
有沒有辦法在 powershell 中取得 vim 鍵綁定,就像在 bash 或 zsh 中使用類似指令
set -o vi
答案1
現在你有幾個選擇。使用預設控制台,您可以在 Windows 上執行 Vim(如果您安裝了 git 或其他工具,您可能已經擁有它)。為了使整合更加無縫,請將其放入您的 PowerShell 設定檔中:
$VIMEXEPATH = "c:\<location>\vim.exe"
Set-Alias vim $VIMEXEPATH
Set-Alias vi $VIMEXEPATH
我還建議將以下內容新增到您的vimrc
檔案中,以便它使用 PowerShell 本身執行 shell 命令。
set shell=powershell
set shellcmdflag=-command
否則,目前唯一支援 Vi 模式的 ISE 是PS閱讀線現在可以在PS畫廊
有使用說明但簡單來說,對於 VI 模式,您需要將以下行新增至您的 ISE 設定檔中。
Set-PSReadlineOption -EditMode vi
請注意,Vi 支援是在 1.2 中新增的,但 1.1 隨 Windows 10 一起提供。
答案2
PSReadline 模組提供了這一點。
安裝很簡單,不確定要求是什麼,但我認為至少 Windows 10 提供了這種方法。如果您沒有 OneGet 或不確定,可以按照以下網址的說明進行操作PS閱讀線
在不提升權限的情況下安裝 PSReadline
Install-Module PsReadline -Scope CurrentUser
檢查您是否有 powershell 設定文件
Test-Path $PROFILE
如果您不建立一個
New-Item -Type File $PROFILE
在 ISE 中開啟 $PROFILE
ise $PROFILE
新增這一行
Set-PSReadlineOption -EditMode vi
重新載入 $PROFILE 或重新啟動 powershell
& $PROFILE
答案3
我不敢保證 Powershell 中沒有任何未記錄的功能允許這樣做,但據我所知答案是否定的。至少我從未在 Powershell 文件中看到任何表明這是可能的內容。
JR
答案4
powershell 引擎現在提供了一些鉤子,使這一切變得相對簡單,但我不知道有誰已經做到了。
PSReadln 計畫有一個新興的 emacs 模式,儘管它還處於起步階段。在 PSReadln 中加入 vi 模式是顯而易見的事情,但我沒有時間致力於它。