つらねの日記

プログラムの進捗やゲームをプレイした感想などを書き連ねる日記。

最高のキーバインドで腕が動かなくなるまで

はじめに

この記事はFUN Advent Calendar 2016 - Adventarの18日目の記事です。 昨日はPythonおじさんでした。明日は妹のパンツのヒトです。

パソコンを操作している人を見てると、マウスに手を伸ばし、キーボードに戻し、ホームポジションから十字キーに手を出すなど、腕を上下左右縦横無尽に忙しなく移動させている様が散見される。 CHUNITHM AIRをやっているわけでもないのだから、 そんな労力はかけなくてもいいんじゃないかなと思うわけだ。(CHUNITHM AIRは片手で数えるくらいしかやったことないです。)

本記事では、パソコンの設定をあんまりしていない人向けに、パソコンのキーバインドを出来るだけ手を動かす必要がないように変えるために設定した記録を書き記す。

0. 便利ショートカット

アクティブウィンドウを切り替えるためにキーボードから手を離す人は多い。⌘TABや⌥TABを覚えることで、その無駄を軽減しよう。 複数の操作スペースを作ることで、室内の玄関には靴を置き、本棚には本を置くなどのようなアプリケーションの配置整理を行う手法も有効である。

効果 OS X Windows
アクティブウィンドウを変更 ⌘Command + TAB ⌥Alt + TAB
操作スペース作成 ⊞Win + ⌃Ctrl + D
操作スペース移動 ⌃Ctrl + →, ⌃Ctrl + ← ⊞Win + ⌃Ctrl + →, ⊞Win + ⌃Ctrl + ←

OS X の場合、簡単にスペース移動のバインドを変えることが出来るので、⌃⇧HLとかにしておくと便利

1. CAPSLOCKを殺せ

まず第一に、最も押しやすく、最も使わないキーがある。

f:id:turane_gaku:20161217015436j:plain f:id:turane_gaku:20161217015429j:plain

そう、なにを隠そうCAPSLOCKである。

この章ではCAPSLOCKを殺すことで左手の小指の負担を軽減することを目的とする。

CAPSLOCKの機能

CAPSLOCKは、SHIFTキーを押さずに大文字を入力したり、かな入力をしているときに英数を入力する際などに用いられるキーである。

しかしながら、大文字を使うのは定数や単語の頭などといったように限られており、大文字を連続で打つ機会というものは非常に少ない。例外として、古いプログラミング言語では度々使われることもある。

CAPSLOCKはAキーの左、SHIFTキーの上、TABキーの下というように頻繁に使用するキーの付近に配置されている。これによって、英字を入力しているときに、誤タイプして勝手にかな入力になってぶちぎれそうになる、SHIFTキーと一緒に誤タイプして全てが小文字が打てなくなりパソコンが壊れたと言うなどといった事例は非常に多い。

CAPSLOCKをCtrlにする

対して、Controlというキーがある。このキーは非常に使用頻度が高く、コピーや保存など、日常的にも用いるキーである。Emacser御用達のキーでもある。 だが、SHIFTキーの下といった、ホームポジションから小指を離す必要がある位置にある、これによって、Ctrl+Cなど押した日には、手首を捻り腕を捻り身体を捻る必要がある。

CAPSLOCKをCtrlに置き換えるまたは入れ替えることで捻り運動が解消され、よりよい効果を望める。

OSX El Captan

システム環境設定 > キーボード > キーボード > 装飾キー > Caps Lock(⇪) f:id:turane_gaku:20161217022110p:plain

Windows 10

以下のアプリケーションを使うことで、レジストリ変更を行うことなく、キー入れ替えが可能。 Win7と書いてあるが、Win8でもWin10でも動作は確認済み。 forest.watch.impress.co.jp レジストリ変更のやつは調べればめっちゃ出てくるし、なんか行けると思う。

2. Vimperator

パソコンを使用する大きな理由の一つとして、ウェブブラウジングが挙げられる。 特に、⌥ + TABや⌘ + TABなどといったショートカットキーを使用するようになると、何かパソコンで書き物をしていて、検索がしたくなったときに キーボードから手を離し、マウスで操作を行うという行為は、スクフェスで言うとEx中の右側のノーツを左手の薬指で叩くのと同じくらいコストが高い行為に思えてくる。

この章では、日々のブラウジングからマウスの割合を減らすことで腕の運動を少なくすることを目的とする。

Vimperatorはいいぞ

FireFoxのアドオンにVimperatorがある。このアドオンはキーボードだけで、FireFoxが操作できるようになる優れものである。 カスタマイズ性が非常に高く、.vimperatorrcを編集することで、キーバインドをかなり自由自在に設定することが出来る。

ブラウジングをする際にもほぼホームポジションから手を離す必要がなく、HLで左右移動、KJで上下移動を行うことが出来る。クリックを行う場合も、TABを連打する必要はなく、Fキーの後に任意のキーを押すことで、クリックと同様の効果が得られる。 f:id:turane_gaku:20161217031321p:plain

詳しい操作等は:help で見ると大体書いてある。

設定とか

キーバインドの初期設定は、有名なvimperatorrcを見るのがベストだと思うが、最低でも以下の設定をしておくと便利になると思う。

noremap d <M-w>

nnoremap <Esc><Esc> :nohlsearch<CR>

noremap <Space>h ^
noremap <Space>l $
nnoremap j 5j
nnoremap k 5k
nnoremap <C-h> 3h
nnoremap <C-l> 3l

nnoremap h <C-p>
nnoremap l <C-n>

Chromeとか

ChromeにもVimiumに代表される、同様のプラグインがあるが、 Vimperator程のカスタマイズ性はないように思われた。元々そこそこに使える感じ。

Vim

http://vim-jp.org/assets/images/vim2-128.png

エディタを使って文字を書いている人を見てると、右手がホームポジションから、十字キーやBSへ行ったりきたりしている人がいる。 数文字や数単語移動したり、行をコピーペーストするためだけに、ピアノのオクターブ奏法のようなことをする必要はない。 Vimというエディタを使えばIもIVもVも手元で弾くことが可能なのである。

無論Vimperatorと同じように、.vimrc or _vimrcに設定を行うことで、カスタマイズを行うことが出来る。 vimrcは$HOMEや$VIMに置かれている。

インストール

Windowsでは Release Vim 8.0.0082 +kaoriya (2016/11/13) · koron/vim-kaoriya · GitHub とかがいいんじゃないかと思う。 Bash on Windowsとか使ってる人は

sudo apt install vim

とかで入る。

OS Xなら、

brew install vim

で入る。一杯オプションがあるのでbrew info vimすると良い

色々設定が必要なら、 vim-jp » Windowsへのインストール方法とビルド方法 を見ながら自分でビルドとかしてもいいと思う。

Vimの始め方

何か新しく物事を始める際には読むだけでは効果が薄く実際に手を動かしてみることが大切であると一般的に言われている。

Vimにはvimtutorというチュートリアルが用意されており、初心者にも優しいエディタである。

vim-kaoriyaなら vimを起動して、:Tutorialで出る。

コンソール環境ならvimtutorで出る。

これを一通りこなすことで、操作を覚えることが出来る。

f:id:turane_gaku:20161217140839p:plain

手癖で十字キーを使っちゃう人へ

今までパソコンを操作する時に十字キーを使っていたため、腕を動かなくしたいのに、 腕が勝手に動いちゃう場合には.vimrcに以下の設定を行う。

noremap <LEFT> <Nop>; inoremap <LEFT> <Nop>
noremap <RIGHT> <Nop>; inoremap <RIGHT> <Nop>
noremap <UP> <Nop>; inoremap <UP> <Nop>
noremap <DOWN> <Nop>; inoremap <DOWN> <Nop>

この設定を行うことによって、十字キーを封印することが出来る。 始めは操作が出来ず、イライラするかもしれないが、慣れれば十字キーが遠く感じるようになり、 腕が動かなくなっていくことだろう。

for Atom

Atomをメインエディタに使ってる人も大丈夫

vim-mode-plusというプラグインがある。これを使うことで、VimキーバインドAtomを使うことが出来る。

atom.io

for Sublime

Sublimeをメインエディタに使ってる人ももちろん大丈夫

vimtageというプラグインがデフォルトでインストールされており、 ignored_packagesから除外することで有効化出来る。

https://www.sublimetext.com/docs/3/vintage.html

たぶんここから下はOS Xの話

Alfred

Spotlightの強い版。

ファイルを見つけたり、アプリを起動したり、辞書を使ったり、四則演算をしたり、便利。 f:id:turane_gaku:20161217040911p:plain 課金するともっと強くなるらしい。

Windowsでも8.1以降では、⊞キーでファイル検索とアプリの起動を行うことは出来る。ただしちょっと重い。

Karabiner

OS Xキーバインドを便利に変えることの出来るアプリケーションにKarabinerがある。 デフォルトでも多くの便利キーバインドが用意されている他、自分でも任意のバインドを作成することが出来る。 ただし、Sierraでは使えないらしい。注意が必要。

Control_L send Esc Key

Control_L to Control_L (+ When you type Control_L only, send Escape)

Control_Lを単体で押したときには、Escapeとして扱い、他のキーと押したときには、Ctrlとして扱う。これがあることにより、明らかに遠く、コストが高いEscキーを手軽に押すことが出来るようになる。Escキーの物理ボタンがパソコンから消えさり、逃げることが出来なくなった場合でも安心して脱出することが出来るようになる。

SandS

Change the space key to the left shift key Send a space key event when the space key is pressed alone.

Spaceを単体で押したときには、Spaceとして扱い、他のキーと押したときには、Shiftとして扱う。実際問題、普通は、親指はほぼ仕事をすることがなく、たまに下段のキーに出張するとは言えど、空白を打つためだけにいると言っても過言ではない。使いやすい指であるのに、殺してしまうのは勿体無い話だ。そこでCtrlキーやShiftキー、AZQなど、出番が多い小指の負担を減らし、指を有効活用することが出来るようになる。

For Japanese

左右のコマンドキー(⌘)を「英数/かな」としても使う

英数とかな入力をトグルするキーは、今英数/かなのどちらであるのかを認識する必要があり、コストが高い。 右を押せばかな、左なら英数と定めることで、一貫性を高めストレスを軽減することが出来る。

さいごに

アクティブウィンドウ切り替え、CAPSLOCKとCtrlの設定、Vimを無事にやりとげることが出来れば、 無事、腕が動くことなく、日常生活を行うことが出来るだろう。

最低でもCAPSLOCKの設定くらいはやるといいと思う。

というか基本的に黒い画面を使おうとしたら、腕が動かなくなる割合が増えると思う。