web-dev-qa-db-ja.com

Windows Powershell Vimキーバインド

次のようなコマンドを使用してbashまたはzshで行うように、PowerShellでvimキーバインドを取得する方法はありますか

set -o vi
18
Bryan Ward

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

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

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

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

set Shell=powershell
set shellcmdflag=-command

それ以外の場合、Viモードを現在サポートしている唯一のISEは PSReadLinePSギャラリー で利用可能になりました

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

Set-PSReadlineOption -EditMode vi

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

12
Lex

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
10
strings

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

JR

1
John Rennie

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

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

0
user253235

たまたま、PowerShell構文強調表示をVIMにロードできます。それは私がスクリプト開発に使用するものです。

http://www.vim.org/scripts/script.php?script_id=1327

シェル自体にはありませんが、長いスクリプトを作成するのに便利です。 VIMに1つのウィンドウがあり、別のウィンドウにPowerShellプロンプトがあります。 とても便利です

0
sysadmin1138