管理者権限のないWindows環境でVimをPowerShell上で使えるようにする.
はじめに
- 初めて投稿します(お手柔らかにどうぞ)。
- Windows環境ではない私用PCから書き込みしています(PowerShellのとことかミスってるかもしれません)。
- Vimなんて必要ないとか言わない!(ちなみに筆者はVSCode派です)。
前提条件
管理者権限のないWindows10 Pro(64bit)
管理者権限がないと何が不便?
- Windowsのシステム内部やレジストリなどは基本的に変更不可
- 環境変数はUSER PATH以外変更不可
- レジストリとシステム内部が変更不可なので基本的に言語開発環境のインストールが不可
- 自分のホームディレクトリ以下くらいしか変更権限ない状況です
(ガチガチに固いです)
マネージャー(ディレクター?)にいちいち管理者パスワードを打ちに来てもらうのも面倒なので、個人的な権限のある範囲で運用します。
Vim本体をダウンロード
香り屋Vimのzipをダウンロード
https://www.kaoriya.net/software/vim/
今回は64bitを選択
(私はこっちにしました)
本家vim.orgからWin32 console executableのzip版をダウンロードでも可
https://www.vim.org/download.php
ダウンロードしたzipを任意のディレクトリに解凍して、
C:\Users\%USERNAME%\tools\vim\
にコピー
VimをPowerShellのエイリアスに登録する
まずPowerShellでShellScriptが実行可能か判定する
PSC:\Users\%USERNAME%>get-executionpolicy
と叩き
PSC:\Users\%USERNAME%>get-executionpolicyRemoteSigned
と返ってくるならスクリプトが実行可能
もしここで、
PSC:\Users\%USERNAME%>get-executionpolicyRestricted
と返ってくるならPowerShell上でスクリプトが実行不能。
そのため、以下をPowerShellにて叩き、RemoteSignedの権限に設定する。
set-executionpolicyremotesigned
これで再度get-executionpolicy
を叩いてRemoteSigned
が返ってきたらスクリプトが実行可能となる。
PowerShellのプロファイルのディレクトリを確認
vimをPowerShellで動かすためにはエイリアスの登録が必要なので、
まず以下をPowerShellで叩く
PSC:\Users\%USERNAME%>$profile
これはプロファイルを呼び出すコマンドで
PSC:\Users\%USERNAME%>$profileC:\Users\%USERNAME%\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
と返ってくる。
もし該当のディレクトリがない場合は
PSC:\Users\%USERNAME%>$mkdirC:\Users\%USERNAME%\Documents\PowerShell
上記のようにディレクトリを作成する。
PSC:\Users\%USERNAME%>$cdC:\Users\%USERNAME%\Documents\PowerShellPSC:\Users\%USERNAME%\Documents\PowerShell>$niMicrosoft.PowerShell_profile.ps1
ついでにMicrosoft.PowerShell_profile.ps1
も作成する。
以上が既定のディレクトリなので、
任意のエディタでMicrosoft.PowerShell_profile.ps1
を開く。
ここに
set-aliasvi'C:\Users\%USERNAME%\tools\Vim\vim82-kaoriya-win64\vim.exe'set-aliasvim'C:\Users\%USERNAME%\tools\Vim\vim82-kaoriya-win64\vim.exe'
などとエイリアスを設定していく。
(%USERNAME%にはそれぞれのユーザーの名前を入れる)
PowerShellからVimを実行する
PowerShellを開いて、任意のディレクトリで
ni"hoge.txt"vim"hoge.txt"
などと打ってみる。
ここでVimが起動できれば成功です。
(rm "hoge.txt"
でテストファイルを削除しておきましょう)
お疲れさまでした。
蛇足
set-aliastouchni
などのzshのコマンドをエイリアス登録しておくと便利でした。