Windows Powershell Vim 鍵綁定

Windows Powershell Vim 鍵綁定

有沒有辦法在 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 模式是顯而易見的事情,但我沒有時間致力於它。

相關內容