読者です 読者をやめる 読者になる 読者になる

Conemu で PowerShell コンソールを快適に

普段 git は基本 Source Tree 時々 TortoiseGit と使い分けつつで利用していたのですが、Source Tree がやたら遅くて普段使いにはしんどくなってきました。

そこで CUI 環境、それも PowerShell コンソール上で git を使うことにしたのですが、標準のままだと PowerShell コンソールはちょっとイマイチなんですよね。

で、ちょっと探してみた結果 Conemu というのがよさげで、数日試しに使ってみた感じ問題なさそうなのでしばらく常用してみることにしました。

PowerShell コンソールへの不満

  • tab 使えない
    • 自分にとってこれが一番辛いです。。。
  • フォント汚い
    • 色も汚いですしね。。。
    • さらに、私は頻繁にフォントを変えるので GUI で簡単に変更できたら嬉しいですね
  • ウィンドウを透過させたい
    • かっこいいじゃないですか!

Conemu

そして Conemu。不満が全部解決しました。すばらしい。

簡単に紹介しておくと、Conemu はコンソールエミュレータで、PowerShell コンソール以外にもコマンドプロンプトや git bash なども利用できます。

tab 使えたりウインドウ透過できたりはもちろん嬉しいのですが、特にすばらしいのが、カラースキーマが標準で複数用意されていることです。その日の気分で簡単にカラーリングを変えられます。

Conemu で設定したこと

  • フォントの変更
    • Main > Main console font
  • ウインドウサイズの自動保存
    • Main > Size & Pos > Auto save window size and position on exit
  • ウインドウが一つしか開かないようにする
    • Main > Appearance > Generic > Single Instance mode
  • いちいち確認のポップアップが出ないように
    • Main > Confirm > 全部 Disable
  • タブ選択順を見た目通りに
    • Main > Tabs > Lazy tabs switch
  • 起動時に PowerShell コンソールが開くように
    • Startup > Startup options > Specified named task > PowerShell
  • ウインドウ透過
    • Features > Transparency > Active window transparency

設定に関しては以下のサイトを大変参考にさせていただきました。ありがとうございます。

ConEmu 突っ込んだら Git for Windows の Git Bash がカッコよくなった
ConEmu でコマンドプロンプトをタブ化する

PowerShell の設定

ついでに PowerShell コンソールの設定もちゃんとやるようにしました。

posh-git とプロンプトの変更は競合してしまって、普通にやるとカレントディレクトリがウインドウに表示されませんでした。ので、profile に ↓ の通り書いてやります。

function prompt {
    #カレントディレクトリを取得
    $idx = $pwd.ProviderPath.LastIndexof("\") + 1
    $cdn = $pwd.ProviderPath.Remove(0, $idx)

    #プロンプトをセット
    Write-Host "$env:UserName@$env:UserDomain" -NoNewLine -ForegroundColor Magenta
    Write-Host ":" -NoNewLine -ForegroundColor White
    Write-Host $cdn -NoNewLine -ForegroundColor Green

    #git-posh のコマンドレット実行
    Write-VcsStatus

    #カレントディレクトリをウィンドウタイトルにする
    #Write-VcsStatus の後にやらないと、posh-git に上書きされる
    (Get-Host).UI.RawUI.WindowTitle = "Windows PowerShell " + $pwd

    return "> "

    #$env:UserName + "@" + $env:UserDomain + ":" + $cdn + "> "
}

まとめ

最終的にこんな感じに!めっちゃおしゃれになりました。

f:id:kendik:20150204235914j:plain