PowerShell 3.0にバージョンアップ
Windows8以上にはPowerShell 3.0がインストールされていますが、Windows7の場合はPowerShell 2.0(Windows Management Framework 2.0)がデフォルトでインストールされているので、バージョンアップします。
まずは、windows + r powershellで立ち上げて、バージョン確認をしましょう。
PS> Get-Host | Select-Object Version
Version
-------
2.0
表示されたバージョンが3.0ではない場合、ここからWindows Management Framework 3.0をインストールします。
vimを入れよう
①vimのダウンロード
Windows用vimが入っていない場合、KaoriYaさんからダウンロードします。
適当なところにバイナリを解凍すればOKです。
②viコマンドの設定
先ほど解凍した実行ファイルのパスをエイリアスに設定してviコマンドを使えるようにします。
PS> Set-Alias vi C:\DownloadPath\vim.exe
PS> vi
vimが起動するようになったよ!!
パーマネントなエイリアスを設定したいとき
③スクリプトの実行許可
viコマンドを使用可能にする準備のため、スクリプトの実行許可設定を行います。
デフォルトではスクリプト実行不可となっているので、以下のコマンドで実行ポリシーを「ローカルのスクリプトは実行可能」に変更します。
PS> Set-ExecutionPolicy RemoteSigned
④起動時に読み込むスクリプトを設定
PowerShellは、起動時にデフォルトで読み込むファイルをPowerShellスクリプト形式で定義することができます。
.bashrcや.bash_profileのようなアレです。
ファイルパスは$PROFILE変数に定義されています。
PS> $PROFILE
C:\Users\UserName\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
上記のファイルですが、すでに存在しているわけではないので、以下のコマンドでファイルを作っちゃいましょう。
PS> New-Item -Path $profile -ItemType file
Test-Pathコマンドを入力すれば、ファイルの存在確認もok
PS> Test-Path $PROFILE
True
あとはviコマンドでファイルを編集しちゃいましょう。
以下の行を追加して保存します。
New-Alias vi C:\DownloadPath\vim.exe
PowerShellを起動し直して、viコマンドが使えればok!!
その他、$PROFILEに設定しておくと良いこと
grepしたい!
New-Alias grep Select-String
find -nameしたい!
function find([string] $path, [string] $name) {
if($name) {
ls $path -r | ? {$_.Name -match $name}
} else {
ls $path -r
}
}
ちなみに、、findの検索条件はこんな感じで再現できます
# -mtime
($(Get-Date) - $_.LastWriteTime).Days -eq 10
# -size k
$_.Length -eq KB
# -type d
$_.PSIsContainer
# -type f
! $_PSIsContainer
tailが使いたい!
function tail ([string] $file, [int] $n, [switch] $f) {
if ($f){
cat -Wait -Tail $n $file
} else {
cat -Tail $n $file
}
}