【Tips】Surfaceのキーボードを使いこなす(2)~ホームポジションから手を動かさなくてよくなるEmacsキーバインドの設定

シェアする

  • このエントリーをはてなブックマークに追加
  • 276
Surface Family

(ずっと以前に書いたままになっていた記事を蔵出しで掲載します。記事中の設定画面はWindows 8.1のものですが、Windows 10でもほぼ同じ手順で設定できます)

Surface 3を気に入って使っていますが、タイプカバーのキーボードは標準的なキーボードよりもサイズが小さいので、いくつか工夫している点があります。

一生役立つ!(かもしれない)、便利なキーボードの使い方を紹介するシリーズの第2弾です。

今回は少しマニアックですが、一度身に付ければ一生ものです。


スポンサーリンク

Surface 3のキーボードは標準的なキーボードより小さい

Surface 3はとてもコンパクトで持ち運びに便利ですが、そのコンパクトさゆえにキーボードが標準的なものより少し小ぶりに作られています。

このため、全体のキーピッチが標準的なキーボードより少し狭くなっていることに加えて、一部のキーでは幅がとても狭められています。

全体のサイズが普通のキーボードと違うので、デスクトップPCとSurfaceを混用した場合に戸惑う場面がありますが、とくに手をホームポジションから動かして戻したときに「あれ?」となることが多いです。
また、Enterや上下カーソルキーが小さいので、これらのミスタイプも多いです。

というわけで、Surfaceでなるべく手をホームポジションから動かさずに済ませる設定を紹介します。

Surface以外でも活用できますのでみなさんでどうぞ。


少しマニアック. SurfaceでEmacsのキーバインドを使う

まずEmacsのキーバインドの説明から

Emacsというのは1970年台に初版が作られた歴史と伝統のテキストエディタで、ものすごくカスタマイズ性が高いことからコンピュータ系のエンジニアを中心に人気のある、そして一部に熱狂的なファンを持つソフトウェアです。

Emacs自体の魅力は語り尽くせないほどあるのですが、ここではEmacsで採用されているキーバインドの、とりわけSurfaceの操作性改善に関係しそうな部分に絞って説明します。

Emacsのキーバインドの特徴は、複数のキーの組み合わせに機能を持たせることでホームポジションから手が届くキーだけで多様な操作を実現しているところです。

たとえば[Ctrl]キーと[P][N][B][F]の各キーの組み合わせで、上下左右のカーソルキーを押したのと同じ動作になります。これで右手をカーソルキーまで移動させる必要がなくなります。楽ちんです。
また、[Ctrl]+[A]で行頭へ移動、[Ctrl]+[E]で行末へ移動できるので、[Home]と[End]がいらなくなります。

他にも、範囲指定やカット・ペースト、ページダウンやページアップなど、およそテキスト書きに必要そうな操作はホームポジションからできるようになっています。

さらに、Delete、バックスペース、Enterなどキーボード右端のキーの機能を[Ctrl]キーの組み合わせで実現できるため、小指を遠くまで伸ばしすぎてピキッとなることもなくなります。
キーボード右端のキーのサイズが削られて的が小さくなっているSurfaceでは、これらのキーを操作しなくて良いのはとても快適です。

私がSurfaceでよく使っているEmacsキーバインドは次のようなものです。

キーバインド 対応する動作
Ctrl+B カーソル左
Ctrl+F カーソル右
Ctrl+P カーソル上
Ctrl+N カーソル下
Ctrl+A カーソルを行頭へ
Ctrl+E カーソルを行末へ
Ctrl+V ページダウン
Esc-V ページアップ
Ctrl+W カット
Esc-W コピー
Ctrl+K 行のカーソル位置以降をカット
Ctrl+Y ペースト
Ctrl+Space マークセット(範囲指定開始)
Ctrl+H バックスペース(BS相当)
Ctrl+D 1文字削除(Del相当)
Ctrl+M 改行(Enter相当)

※「+」は組み合わせて押す(Ctrl+BならCtrlを押した状態でBを押す)ことを表します
※「-」は連続して押す(Esc-VならEscを押して離したあとVを押す)ことを表します

他にもたくさんの操作が可能ですが膨大すぎて説明し切れません。
ネット上に詳しい解説が無数にありますのでそれらを参照されてください。

こちらのサイトの「カーソル移動」と「編集」はわかりやすいくまとめられていると思います。
http://www.aise.ics.saitama-u.ac.jp/~gotoh/EmacsKeybind.html>

SurfaceでEmacsキーバインドを使うための下準備 ~Ctrlキーの位置変更

Emacsキーバインドでは上に挙げた例のようにCtrlキーを多用します。
ところが、Surfaceのタイプカバーをはじめほとんどの日本語キーボードではCtrlキーはキーボードの左下に追いやられていて、これを頻繁に押すのはちょっと厳しい。

というわけで、まずCtrlキーの位置を変えます。
具体的には、CapsキーにCtrlキーの機能を持たせます。Capsキーはほとんど使い道がないくせに良い場所を取りすぎです。

手順はレジストリーを書き換えるというもので、こちらのサイトにまとめられています。
ASCII.jp x デジタル「深厚のWindows使いこなしテクニック - 第4回 CtrlとCapsを入れ替え! Windowsのキー配列をカスタマイズ」
http://ascii.jp/elem/000/000/927/927191/

CapsキーとCtrlキーの機能を入れ替える方法と、CapsキーもCtrlキーも両方Ctrlキーにしてしまう方法の2つが紹介されています。私は後者を使っています。バイバイCapsキー。

なお、レジストリーの変更は内容を間違えるとWindowsシステムの動作に致命的な悪影響を及ぼす可能性がありますので、くれぐれも慎重に行ってください。
たとえば今回の手順でエントリーを追加するレジストリーキーは「Keyboard Layout」ですが、すぐ隣に「Keyboard Layouts」という別のレジストリーキーがありますので要注意です。

Emacsキーバインドの導入

それではいよいよEmacsキーバインドを導入します。

キーボード操作をカスタマイズするkeyhacというソフトウェアを使います。

keyhac
https://sites.google.com/site/craftware/keyhac-ja

keyhacはPythonで記述されたスクリプトにしたがってキーボード操作をカスタマイズできるソフトウェアで、Emacsキーバインドのように複数キーの連続操作を伴うキーバインドも見事に再現してくれるスグレものです。

keyhac導入の準備

必要なものをダウンロードします。

まず上記keyhacのリンク先にあるダウンロードリンクからkeyhac本体をダウンロードします。
keyhac download link

次にEmacsキーバインドのためのスクリプトの用意です。こちらのサイトでとても完成度の高い設定ファイルを公開されています。ありがたいことです。

NTEmacs @ ウィキ「Windows の操作を emacs のキーバインドで行うための設定 (keyhac版)」
http://www49.atwiki.jp/ntemacs/pages/25.html

リンク先のページに公開されているPythonのコード(点線で囲まれている部分全部)をコピーして、メモ帳に貼り付けておきます。
keyhac settings copy

以上で必要なものの準備は完了です。

keyhacのインストール

keyhacにはインストーラーは用意されていません。解凍したフォルダーをまるごとどこかに置いておけばOKです。
私は C:\Program Files (x86) にkeyhacフォルダーをコピーしました。

keyhac install

keyhacを動作させるためには、Microsoftから「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」というものをダウンロードしてインストールしておく必要があります。
こちらからダウンロードしてください。
https://www.microsoft.com/ja-JP/download/details.aspx?id=48145

コピーができたら早速起動してみましょう。

keyhac execute

タスクトレイにアイコンが現れます。

keyhac tasktray icon

この状態では何の設定もできていないので、Emacsキーバインドのスクリプトを適用します。

keyhacのアイコンで右クリックメニューを表示して「設定の編集」画面を開きます。

keyhac menu

先ほどコピーしたEmacsキーバインドのスクリプトと今開いたkeyhacの設定ファイルを並べてみましょう。
keyhac settings side-by-side

左がEmacsキーバインドのスクリプト、右がkeyhacの設定ファイルです。

左の中身をすべてコピーして、右の中身を置き換えます。

keyhac settings override

右側のファイルを上書き保存し、keyhacのメニューから「設定のリロード」をすればキーバインドが変更されます。

ログオンでkeyhacを自動的に起動させる

次に、Windowsにログオンしたときにkeyhacが起動するように設定します。

エクスプローラーで次のフォルダーを開きます。
C:\ユーザー\ [ユーザー名]\AppData\Roaming\Microsoft\Windows\スタート メニュー\プログラム\スタートアップ

Startup folder

[ユーザー名]の部分は自分のユーザー名です。Microsoftアカウントでログオンするようにしている場合、メールアドレスの冒頭の何文字かの変形(たとえば “abcde12345@mail.com” なら “abcde_000” のような)になっていたりします。
エクスプローラーでCドライブの根元から順に辿っていくのがわかりやすいでしょう。

ここにkeyhacのショートカットをコピーします。
エクスプローラーをもう一つ開いてkeyhacをコピーしたフォルダーへ移動し、keyhac.exeの右クリックメニューで「コピー」して、先ほど開いたStartupフォルダで右クリックメニューから「ショートカットの貼り付け」をすればOKです。

Create keyhac shortcut in Startup folder

これで、Windowsにログオンすれば自動的にkeyhacが立ち上がってキーバインドを変更してくれるようになります。


慣れればテキスト書き作業がめっちゃ快適に

私は上のほうで表にした「よく使っているEmacsキーバインド」くらいしか使っていませんが、これだけでテキストを書くときにはほとんどホームポジションから手を動かさずに済むようになって、めちゃくちゃ楽になっています。
体感で20%くらい効率が上がっています。

キーの組み合わせをたくさん覚えるのが面倒なら、カーソルの移動とバックスペース、一文字削除(Del)、コピー、ペースト、改行(Enter)を覚えるだけでもぜんぜん違います。

学校や仕事場では自分のペースでテキストを書くばかりではなくて、先生の話すペースでノートを取ったり、会議の進行に合わせて議事録を取ったりと、速度を求められる場面が少なくありません。
今回紹介した方法を身につけておくと、そういう場面できっと役立つと思いますので、興味のある方はぜひ試してみてください。

一度身に付ければたぶん一生役に立ちます。