
次のようなコマンドで、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
vimrc
PowerShell 自体でシェル コマンドを実行するために、ファイルに次のコードを追加することをお勧めします。
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 モードを追加するのは当然のことですが、それに費やす時間がありません。