Windows Powershell Vim キーバインディング

Windows Powershell Vim キーバインディング

次のようなコマンドで、bashやzshと同じように、PowerShellでvimのキーバインドを取得する方法はありますか?

set -o vi

答え1

最近はいくつかのオプションがあります。デフォルトのコンソールを使用すると、Windows で Vim を実行できます (git または他のツールがインストールされている場合は、すでにインストールされている可能性があります)。統合をよりシームレスにするには、PowerShell プロファイルに次のコードを配置します。

$VIMEXEPATH    = "c:\<location>\vim.exe"

Set-Alias vim  $VIMEXEPATH
Set-Alias vi   $VIMEXEPATH

vimrcPowerShell 自体でシェル コマンドを実行するために、ファイルに次のコードを追加することをお勧めします。

set shell=powershell
set shellcmdflag=-command

それ以外の場合、現在Viモードをサポートしている唯一のISEはPSReadLine現在入手可能PSギャラリー

がある使用上の注意ただし、簡単に言うと、VI モードの場合は、ISE プロファイルに次の行を追加する必要があります。

Set-PSReadlineOption -EditMode vi

Vi サポートは 1.2 で追加されましたが、1.1 は Windows 10 に同梱されていることに注意してください。同梱されている (つまり手動でインストールされた) バージョンを更新するには、-force パラメータを使用する必要があります。

答え2

PSReadline モジュールがこれを提供します。

インストールは簡単ですが、要件が何であるかはわかりませんが、この方法では少なくともWindows 10が必要だと思います。OneGetをお持ちでない場合やわからない場合は、次の手順に従ってください。PSReadline

権限を昇格せずに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 モードを追加するのは当然のことですが、それに費やす時間がありません。

関連情報