PowerShell(PowerShell ISE)でvi(vim)を使いたい!

Vim on MS Power Shell

PowerShellで vi(vim) エディタを使いたい!

1) vim をインストール。DLは下記から。

2) PowerShell の起動スクリプトファイル設定
プロファイルへ以下の2行を追加

Set-Alias vi 'C:\Program Files (x86)\Vim\vim73\vim.exe'
Set-Alias vim 'C:\Program Files (x86)\Vim\vim73\vim.exe'

※パスはvimのインストールフォルダに合わせて適宜変更で。
※プロファイルの場所がわからない?PowerShellの下記コマンドで調べます。

プロファイルの場所を取得、結果例

$profile
C:\Users\hoge\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

※結果に出てきたディレクトリ、ファイルがない場合は新規で作ってください。
ps1ファイルは普通のテキストファイルです。

3) PowerShellを起動して動作確認
vi hoge.txt … 実際に存在するテキストファイルか何かをviしてみて。

PowerShellはデフォルトだとスクリプト実行が禁止されてます。
ポリシー変更していないと
このシステムではスクリプトの実行が無効になっているため、。。。
云々と表示されます。その場合は下記手順でポリシーを変更してくださいね。

PowerShell 下記コマンドで現在のポリシー取得

Get-ExecutionPolicy
Restricted


Set-ExecutionPolicyコマンドレットで実行ポリシーを変更
Set-ExecutionPolicy RemoteSigned …ポリシーの設定 
Get-ExecutionPolicy …結果の確認
RemoteSigned …結果

※例ではRemoteSignedにしてますが、自身に最適なものを設定してください。

実行ポリシー 意味
Restricted すべてのスクリプトが実行禁止。>PowerShellインストール直後のデフォルト設定
AllSigned 署名されているスクリプトのみが実行可能。署名されていないスクリプトは実行禁止
RemoteSigned ローカルに保存されているスクリプトは実行可能。インターネットからダウンロード
したスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能
Unrestricted すべてのスクリプトが実行可能。ただしインターネットからダウンロードした
スクリプトは、実行するかどうかが確認されるので、ユーザーが明示的に許可した
場合のみ実行される

PowerShellはこれでOK!!

※下記エラーが出る場合はPowerShellを管理者権限で起動してください。

ファイル C:\Users\XXXX\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 を読み込めません。ファイル C:\Users
\XXXX\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 はデジタル署名されていません。このスクリプトはシステ
ムで実行されません。詳細については、「get-help about_signing」と入力してヘルプを参照してください。。
発生場所 行:1 文字:2
+ . <<<<  ‘C:\Users\XXXX\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1’
+ CategoryInfo          : NotSpecified: (:) []、PSSecurityException
+ FullyQualifiedErrorId : RuntimeException

PowerShell ISEでvi(vim)したいかたは↓を行ってください

PowerShell ISEの場合もほとんど同じです。
PowerShellとPowerShell ISEはプロファイルが違うので
ISE用のプロファイルを作ってくださいね。
※ISEを起動して$profileでプロファイルの場所はわかります。プロファイルをPowerShellと同じ内容で作成すると
vimがうまく起動しないと思います。。。

ISEのプロファイルに追記する2行は下記のようにしてください。

function vi { start-process 'C:\Program Files (x86)\Vim\vim73\vim.exe' $args }
function vim { start-process 'C:\Program Files (x86)\Vim\vim73\vim.exe' $args }

※パスはvimのインストールフォルダに合わせて適宜変更で。

PowerShellと違い、別Windowで起動してしまいますが、
仕様ということで。。。

では、よいPowerShell & vi(vim)ライフを!!

スポンサーリンク
レクタングル(大)