Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Windows7+PowerShell+もろもろでUNIXライクなコマンド操作環境をつくる

$
0
0

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

2017-03-22_132535.png

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
    }  
}

Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>