OS英語化とか、キーリマップとか


企業のグローバル化が声高に叫ばれる現代、英語というものに高い壁を感じており、最近猛特訓中です。
そんな中、[この記事](http://kenn.hatenablog.com/entry/2011/11/08/045355)を読んで妙に納得してしまったのでUS配列のキーボードを購入し、(出来る範囲で)イングリッシュな環境を整えてみました。
※ お試しになる場合は自己責任でお願いします。。

## ラインナップ
1. OS X Mavericksを英語化してみる
	+ Terminal(というよりGNU Core Utilities)の文字化け対策
1. キーリマップでUSキーボードを使いやすく
	+ with KeyRemap4MacBook (Mac) / YAMY (Win)
		- ついでにVimのIME対策も

## OS X Mavericksを英語化してみる
ちょっと昔にOS X高速化、などのコンテクストで語られていたTipですね。
設定一発で変えられます。

1. `システム環境設定` → `言語と地域` を表示します。 
1. 左のリストで"English"を一番上に持ってきます。
1. ログアウトして入り直すか、再起動を行えば反映完了です。

### Terminalの文字化け対策
[以前の記事](http://qiita.com/us10096698/items/38e4246b9bd76224eca5)でSolarizedを導入した際に、GNU版lsを使うため(ファイル、ディレクトリの色分けを適用するため)にcoreutilsをインストールしたのですが、こいつのロケール設定が変わってしまったため、日本語ディレクトリ・ファイル名が文字化けしてしまっていました。

glsを使っていることをすっかり忘れていたのでだいぶハマってしまいましたが、`~/.bash_profile`に以下を設定しすれば、日本語が正しく表示されるようになります。

```.bash_profile
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
```

## キーリマップでUSキーボードを使いやすく
### Mac環境
USキーボードではJISキーボードで言う`control`の位置と`caps lock`の位置が入れ替わっているような配置になっており、ちょっと使いにくいです。この位置はOS設定から変更可能です。

1. `System Preferences` → `Keyboard` → `Modifier Keys`の順にクリック
1. `Caps Lock Key`と`Control Key`の設定を入れ替え

以上です。
`control`キーを押すとちゃんと`caps lock`キーが点灯するのであまり違和感なく使えるんじゃないかな、と思います。

さて、JISキーボードとUS配列キーボードの最大の違いが`英数`、`かな`キーがない、ということなのですが、日本語入力自体はどちらのキー配列であっても`⌘`+`space`で変更可能です。私の場合、後述するWin環境となるだけ近い操作性にしたかったので、キーリマップツールを使って`shift`+`space`に割り当てました。慣れてくるとやりやすいですよ。

1. [KeyRemap4MacBook](https://pqrs.org/macosx/keyremap4macbook/)をインストールします。インストールは簡単です。
1. 「Change Key」タブ → 「For Japanese」 → 「Change Space Key」と進みます。
1. 「Shift + Space to KANA/EISUU (toggle)」を選択します。

ついでにターミナルVimでIME onのまま挿入モードを抜けると悲しい気持ちになってしまいますので、カスタムリマップで`esc`連打でIMEも抜けるように設定します。

1. KeyRemap4MacBookの設定画面を開き、`Misc & Uninstall`タブを選択します。
1. `Open private.xml`ボタンをクリックします。Finderが開き、`private.xml`が見えると思います。
1. 中身を以下のように編集します。[こちらのサイト]()を参考にさせていただきました。
1. keyRemap4MacBookの設定画面に戻り、`Change Key`タブ選択 → `ReloadXML`ボタンをクリックして反映します。

```private.xml
<?xml version="1.0"?>
<root>
	<list>
		<item>
			<name>ESC to IME off (to English) + Esc + Esc</name>
			<appendix>Enable for all but HHK</appendix>
			<identifier>private.vim.ime_off_ESC</identifier>
			<only>TERMINAL, VI</only>
			<inputsource_only>JAPANESE</inputsource_only>
			<autogen>
				__KeyToKey__ KeyCode::ESCAPE, ModifierFlag::NONE,
				KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH,
				KeyCode::VK_CHANGE_INPUTSOURCE_JAPANESE,
				KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH,
				KeyCode::ESCAPE, KeyCode::ESCAPE
			</autogen>
		</item>
		<item>
			<name>Control + BRACKET_LEFT to IME off (to English) + Esc + Esc</name>
			<identifier>private.vim.ime_new</identifier>
			<only>TERMINAL, VI</only>
			<inputsource_only>JAPANESE</inputsource_only>
			<autogen>
				__KeyToKey__ KeyCode::BRACKET_LEFT,
				MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL|ModifierFlag::NONE,
				KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH,
				KeyCode::VK_CHANGE_INPUTSOURCE_JAPANESE,
				KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH,
				KeyCode::ESCAPE, KeyCode::ESCAPE
			</autogen>
		</item>
	</list>
</root>
```

### Win環境
会社のWin環境ではJIS配列の109キーRealforceを使っているのですが、これはちょっと気に入っている上に気軽に乗り換えられるお値段ではないので、なるだけ近い操作性になるようにキーリマップツールで対応します。。。

1. [YAMY](http://sourceforge.jp/projects/yamy/)をインストールします。といっても解凍するだけです。
1. インストールディレクトリ内にある`yamy.ini`を開き、"escapeNLSKeys"の値を"1"にします。
1.  `caps lock`キー入れ替えが正しく動作するように、インストールディレクトリ内にある`104on109.mayu`の以下の行を以下のようにコメントアウトします。英語キーボード配列なんかまっぴらだよ、という方は飛ばしてください。

	```104on109.mayu
	# def subst    *英数		= S-*英数
	# def subst    *E0英数		= S-*英数
	```

1. インストールディレクトリの中に以下のようなオリジナル設定ファイル(****.mayu)を作成します(ファイル名は任意)。
109キーボードを104キーボード配列で使うため、最初はそこそこ混乱します。英語キーボード配列なんかまっぴらだよ、という方は2つめのinclude文をコメントアウトしてください。

	```*****.mayu
	include "109.mayu"
	include "104on109.mayu"	# 109 キーボードを 104 キーボード風に

	mod Control += E0英数
	key *E0英数 = *LControl
	key LControl = E0英数

	key S-Space = $ToggleIME

	window Mintty /mintty/ : Global
 	key IL-~IC-Esc = $ToggleIME Esc # Make IME off, Exit insert mode
 	key IC-Esc = $ToggleIME Esc # Make IME off, Exit insert mode
	```

1. YAMYを起動します。その後、タスクトレイに常駐しているYAMYアイコンを右クリック → 「設定」を選択
1. `追加`ボタンをクリック
1. 適当な名前を付け、`参照`ボタンより先ほどの`*****.mayu`を選択し、`OK`で閉じる
1. `OK`で閉じる
1. 再度タスクトレイのYAMYアイコンを右クリック → `選択`と進み、先ほど追加した設定を選択

以上で設定が反映されます。
`Caps`と`Ctrl`が入れ替わり、`Shift`+`Space`でIME変更ができます。

また、Macの場合と同様`Esc`連打でVimの挿入モードを抜ける際にIMEもオフになるよう設定しました。
この設定はCygwinターミナルであるMintty上でのみ有効になるように設定しています。

#### 設定の不具合
`esc`キー1回押下でIMEも挿入モードも抜けるように書いたつもりなのですが、2回押さないと抜けてくれません。
また、筆者の環境(WinXP 32bit)ではどうも`control`キーを押下した際の`caps lock`が正しく動いてくれません。
設定に間違いがありましたら、ご指摘いただければ幸いです。

YAMYでは他にも様々なキーバインドができますので、[こちら](http://mayu.sourceforge.net/mayu/doc/README-ja.html)のマニュアルを参考にして使いやすい設定を試してみてください。

以上です。