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
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)ライフを!!
コメント