次のようなコマンドを使用してbashまたはzshで行うように、Powershellでvimキーバインドを取得する方法はありますか
set -o vi
次のようなコマンドを使用してbashまたはzshで行うように、Powershellでvimキーバインドを取得する方法はありますか
set -o vi
回答:
最近では、いくつかのオプションがあります。デフォルトのコンソールを使用すると、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パラメーターを使用して、出荷(手動インストール)バージョンを更新する必要があります。
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
たまたま、VIMにPowerShell構文ハイライトを読み込むことができます。スクリプト開発に使用するものです。
http://www.vim.org/scripts/script.php?script_id=1327
シェル自体にはありませんが、より長いスクリプトを作成するのに便利です。VIMには1つのウィンドウがあり、別のウィンドウにはPowerShellプロンプトがあります。とても便利だと思います。
powershellエンジンは現在、これを比較的簡単にするためのフックを提供していますが、私はまだそれをやった人を知りません。
PSReadlnプロジェクトには、まだ始まったばかりですが、emacant emacsモードがあります。PSReadlnにviモードを追加するのは当然のことですが、それに専念する時間はありません。