はじめに
PowerShellを普段使いのgitコンソールにしたくて設定をまとめました。
PowerShellGet (Windows PowerShellのみ)
posh-gitの1.0系はベータ版なのでInstall-Module
コマンドで-AllowPrerelease
オプションを使います。ですがPowerShellGet
モジュールのバージョンが古くてオプションがないのでまずはPowerShellGet
をバージョンアップします。
Install-Module -Name PowerShellGet -Scope CurrentUser -AllowClobber -Force
-
-Score CurrentUser
: デフォルトのインストール先はシステムなので現在のユーザーにインストールします。 -
-AllowClobber
: 既存コマンドを上書き許可するために指定します。 -
-Force
: 複数バージョンのインストールを許可するために指定します。
コマンド実行後にWindows PowerShellを立ち上げ直してバージョンを確認します。
Get-Module -Name PowerShellGet
Versionカラムが2系なら正しくインストールされています。
現在の最新版はPowerShellGet 2.2.3です。
posh-git
dahlbyk/posh-gitはgit-prompt.shと同じようにPowerShellのプロンプトにgitリポジトリの情報を表示するモジュールです。
Install-Module -Name posh-git -Scope CurrentUser -AllowPrerelease
-
-AllowPrerelease
: プレリリース版を使うので指定します。
コマンド実行後にモジュールをインポートします。
Import-Module posh-git
この後にgitリポジトリに移動して以下のようなプロンプトになれば正しくインストールされています。
emacs風キーバインド
PSReadLineのSet-PSReadlineOption
でemacs風キーバインドに変更できます。
Set-PSReadlineOption -EditMode Emacs
色付きls
PowerShellのls(Get-ChildItem)は白一色ですが、joonro/Get-ChildItemColorを導入すると色付きlsのように表示できます。
Install-Module Get-ChildItemColor -Scope CurrentUser -AllowClobber
更にGet-ChildItemColorFormatWide
コマンドでGet-ChildItem | Format-Wide
を色付きで表示できます。
設定を保存する
Windows PowerShell / PowerShell Core起動時に実行したい内容を以下のように設定します。
$profile
はプロファイルのパスが設定されているので次のコマンドで開けます。
ですがWindows PowerShellとPowerShell Coreでパスが違うので両方使う場合はそれぞれのパスのファイルに設定が必要です。
# プロファイルを空ファイルで作成する
New-Item -Path $profile -Type file -Force
# メモ帳でプロファイルを開く
notepad $profile
# デフォルト(Restricted)ではスクリプトの実行が許可されていないので
# セキュリティポリシーを変更する
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Set-PSReadlineOption -EditMode Emacs
Import-Module posh-git
Import-Module Get-ChildItemColor