Windowsで多少マシなターミナル環境
Windowsでcmdよりは多少マシなターミナル環境を整えました。今使ってるPCが壊れた時にそれを復元できるように自分向けに構築手順をまとめます。
注意 レジストリを操作します。ここに書かれたレジストリの操作を真似した結果あなたのPCがおかしくなっても責任を負いかねます。レジストリは必ず自己責任でいじって下さい
自分が求めたターミナルの要件
- マウス操作で、コピー&ペーストできること
- 好きなフォントを設定できること(英語と日本語それぞれ=>文字化けもしたくない)
- 半透明にできること
- Linuxコマンドが使えること(ls, scp, sshなどなど)
- Git bashのようにエクスプローラー上で現在いるディレクトリをカレントディレクトリとして右クリックから起動できること
落ち着いた環境
- minttyというターミナルクライアント上でGit bashを動作させる
- 右クリック操作はレジストリをいじる必要があった
- ググったら等幅メイリオというのがあり、それとConsolasをフォントリンクすることでいい感じにターミナル上で日本語が表示される
手順
- MinGWをインストールする
msysは入れてもれなくてもどちらでもよい
Git for Windowsをインストールする
Gitのインストールディレクトリにある
binディレクトリをPathに追加する。
デフォルトのインストールパスだとC:\Program Files (x86)\Git\binになる
minttyをGit bashディレクトリのbinにコピーするGit bash.vbsを真似してGit mintty.vbsというスクリプトを書く。
Git bash.vbsと同じディレクトリに置く。管理者権限が必要
Set fso = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("WScript.Shell")
Const TemporaryFolder = 2
linkfile = fso.BuildPath(fso.GetSpecialFolder(TemporaryFolder), "Git Mintty.lnk")
gitdir = fso.GetParentFolderName(WScript.ScriptFullName)
' Dynamically create a shortcut with the current directory as the working directory.
Set link = shell.CreateShortcut(linkfile)
link.TargetPath = fso.BuildPath(gitdir, "bin\mintty.exe")
link.Arguments = "/bin/sh --login -i"
link.IconLocation = fso.BuildPath(gitdir, "etc\git.ico")
If WScript.Arguments.Length > 0 Then link.WorkingDirectory = WScript.Arguments(0)
link.Save
Set app = CreateObject("Shell.Application")
app.ShellExecute linkfile
こんな感じ。
regeditを開いてHKEY_CLASSES_ROOT\directory\background\shellを開く。
ここにgit_shellも置いてある。
shellを右クリックして新規>キーとし、ここではGit Minttyというキーを作成。Git Minttyの下にcommandというキー作成commandの値を修正します。"C:\WINDOWS\SysWOW64\wscript" "C:\Program Files (x86)\Git\Git Mintty.vbs" "%v"にしてください。
(規定)とかかれた場所を右クリックで集成できます。
%USERPROFILE%ディレクトリあたりで、右クリックでカレントディレクトリでGit Minttyが起動できるようになってるか確認。もっと最初に行ってもよいけど、Minttyの設定
ホームディレクトリに.minttyrcを作成、
BoldAsFont=no BackgroundColour=20,20,20 Transparency=medium Font=Consolas FontHeight=12 Locale=ja_JP Charset=UTF-8 ClipShortcuts=no SwitchShortcuts=no RightClickAction=paste ClicksTargetApp=no Columns=80 Rows=24
とした。
ホームディレクトリはHOME環境変数で設定する。
.profileを作成、
alias ls='ls --color=auto --show-control-chars -F'
とした。
.inputrc作成
set meta-flag on set input-meta on set output-meta on set convert-meta off set kanji-code utf-8
とした。
このあたりで、lsした際に、日本語ファイルが文字化けせずに表示されていること、標準入力で日本語が打てることを確認する。
- http://okrchicagob.blog4.fc2.com/blog-entry-169.htmlにアクセスし、
◆ メイリオ・メイリオ改・meiryoKe・ttfname3と書かれたリンクに飛ぶ。
直接リンクすると404等になってしまうらしい。
自分のOSにあったフォントデータをインストールするが、Windows 8.1の場合は
meiryoKe_gen_6.20rev1.zipをインストール解凍したらREADME.html通りに作業を行う。説明割愛
regeditを起動し、Consolasとフォントリンクを行う
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLinkを開き、複数行文字列値を新規作成、名前Consolas、値meiryoKe_620r1.ttc,MeiryoKe_Gothicと設定。フォント名のバージョンはOSにより異なるので注意
- PCを再起動してターミナルの日本語フォントが等幅メイリオになっていることを確認する。

こんな感じのターミナルが作れました! 欠点としてはたまにこのターミナル上から起動したプログラムがCtrl-C等をしてもゾンビプロセスで生き残ることと、Git bashに含まれていたvi/vimなどが動かないところです。力尽きて解決していません。