Windows Powershell Vimキーバインド


回答:


11

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

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

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

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

set shell=powershell
set shellcmdflag=-command

それ以外の場合、現在ViモードをサポートしているISE はPSギャラリーで入手できるPSReadLineのみです。

使用上の注意事項はありますが、VIモードの概要は、ISEプロファイルに次の行を追加する必要があります。

Set-PSReadlineOption -EditMode vi

Viのサポートは1.2に追加されましたが、Windows 10には1.1が付属しています。-forceパラメーターを使用して、出荷(手動インストール)バージョンを更新する必要があります。


1
viのモードのサポートは...以下のPowerShell 5を参照してください@strings答えにPsReadline経由で追加されました
ルーカス

カーソルを変更して、通常モードか挿入モードかを確認する方法はありますか?
ブラッドゴーンサーフィン

私はそうは思いませんが、バージョン2の別のベータ版が先週リリースされました。ですから、それを試してみて、もしそれがなければ、メンテナーにそれをサポートするように動機付けてくれるかもしれません(そして一般的に開発を続けてください)
Lex

9

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

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

特権を昇格せずにPSReadlineをインストールするには

Install-Module PsReadline -Scope CurrentUser

PowerShellプロファイルがあることを確認してください

Test-Path $PROFILE

作成しない場合

New-File -Type File $PROFILE

ISEで$ PROFILEを開きます

ise $PROFILE

この行を追加

Set-PSReadlineOption -EditMode vi

$ PROFILEをリロードするか、単にpowershellを再起動します

& $PROFILE

1
新しいアイテムタイプのファイル
アレックスアレックス

1

これを可能にするPowershellの文書化されていない機能がないと断言するつもりはありませんが、私が知る限り、答えはノーです。少なくとも、Powershellのドキュメントで、可能性を示唆するものを見たことはありません。

JR



0

powershellエンジンは現在、これを比較的簡単にするためのフックを提供していますが、私はまだそれをやった人を知りません。

PSReadlnプロジェクトには、まだ始まったばかりですが、emacant emacsモードがあります。PSReadlnにviモードを追加するのは当然のことですが、それに専念する時間はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.