Hash流"思考の速度"キーバインド (ver20080917)
思考の速度でパソコンを使う技術 - 分裂勘違い君劇場
このエントリにあるように、id:fromdusktildawn氏はVim, Emacsのどちらも使わず、ホームポジションからできるだけ動かないという戦略に基づいて独自のキーバインドを構築したらしい。今も続けているのかどうかわからないけど、もはや身体の一部となったパソコンに独自の変態キーバインドを設定するのは楽しいものだ。
ふろむださんの"思考の速度でパソコンを使う技術"は、次の三つに大別される。
- 高速カーソル移動と編集
- 日本語入力
- 遠いキーを近くへ
これを参考に、自分なりの高速キーバインドを模索してみた。まだ途中。
- 高速カーソル移動と編集
- 一つ目は、ほとんどの文字書きをVim上で行うため、大方解決されている。
- 日本語入力
- 二つ目は、変換途中のカーソル移動をVimライクな移動キーに割り当ててみた。
- 遠いキーを近くへ
- 三つ目は、窓使いの憂鬱のロック機能を使い、特殊入力モードを設けることで対応した。
- (変更)=>Altキーとの同時押しで数字、記号キーを近くに持ってきた
この高速キーバインドを実現するために使ったソフトはmayuこと窓使いの憂鬱。おそらくfromdusktildawnさんが使ったのもこれだと思う。
1. 高速カーソル移動と編集
ふろむださんの論じているカーソル移動、編集のあれこれは、Vimになれた身体で代用。VimかわいいよVim。以下、その他の設定。
をに
これは使いやすい。
をに
今回いろいろ探していて初めて見つけた。設定したもののあまり使わない。
2. 日本語変換環境
S-hとS-lで変換範囲を選択し、S-jとS-kで文節を選ぶ。変換中はシフトを離してはいけない感じになった。なお、僕の場合はIMEの日本語入力/英字入力の切り替えを、Windowsで親指シフト入門 + Tex編集環境 + IME切り替え設定 - ミームの死骸を待ちながらで書いたように
- Ctrl + 無変換 で英字入力
- Ctrl + 変換 で日本語入力
に設定している。
3.遠いキーを近くへ
ver.2
数字を連続して打つことは少ないので、いちいちモード切替えすると逆に手間がかかる。そこで、Altを押しながらホームポジションキーを押して数字や記号を入力するように設定しなおした。
ver.1
mayuのロック機能でモード切替をして、かなキーを押すと特殊入力モード。ホームポジションから数値が入力できるようにした。ホームポジションの一段上は、それぞれの数字キーにShiftを押しながら入力すると出てくる記号を当てた。右手の中指、薬指は括弧系を担当してもらい、小指には、ちょっと遠いマイナス記号*1とイコールを当て、上側のPキーには\マークと|を担当してもらった
.mayuファイルver.2(2008年07月31日)
include "109.mayu" # 109 キーボード設定
keymap Global
# <C-h> を <BS>, <C-m>を<Enter>
# MS-IMEのC-Hに当たるキーが邪魔してるので削除しておいた
key C-H = Backspace
key C-M = Enter
# 親指シフト使わなくなったので、IMEの方で単体で変換機能つけた
# key C-変換 = $ToggleIME
# key C-無変換 = $ToggleIME
# 「ろ」キー通常押しで"_"
key ReverseSolidus = S-ReverseSolidus
key A-ReverseSolidus = S-ReverseSolidus
# ホームポジションを数字に
key A-A = _1
key A-S = _2
key A-D = _3
key A-F = _4
key A-G = _5
key A-H = _6
key A-J = _7
key A-K = _8
key A-L = _9
key A-Semicolon = _0
key IC-A-A = _1
key IC-A-S = _2
key IC-A-D = _3
key IC-A-F = _4
key IC-A-G = _5
key IC-A-H = _6
key IC-A-J = _7
key IC-A-K = _8
key IC-A-L = _9
key IC-A-Semicolon = _0
# ホームポジションの一段上を記号に
key A-Q = S-_1
key A-W = S-_2
key A-E = S-_3
key A-R = S-_4
key A-T = S-_5
key A-Y = S-_6
key A-U = S-_7
# 右中指、薬指はカッコ系
key A-I = LeftSquareBracket # io -> []
key A-O = RightSquareBracket
key A-S-I = S-LeftSquareBracket # IO -> {}
key A-S-O = S-RightSquareBracket
key A-S-K = S-_8 # KL -> ()
key A-S-L = S-_9
# 小指を右にやるとマイナスとイコール.
key A-Colon = HyphenMinus
key A-S-Colon = S-HyphenMinus
# 上にやるとバックスラッシュ
key A-P = YenSign
key A-S-P = S-YenSign
# IME 変換中もhjkl
# IL- IME on, IC- IME変換中.
# ver.2: 姫踊子草の「っ」が使えなくなるのでコメントアウト
# key IC-S-H = S-←
# key IC-S-J = →
# key IC-S-K = ←
# key IC-S-L = S-→
# key IC-Semicolon = Tab
#////////////////////// Explorer //////////////////////
##keymap2, 二段目key, window。この順番が大事らしい。というか最初二つは定義か
#keymap2 vimode-goto
# key G = Home
#window Explorer /Explorer\.exe.+(?:(?!WorkerW).)*/ : Global
# #mod ctrl += 英数
# #key *英数 = *LeftControl
#
# # まずい。このままではフォルダ名編集で次の文字が使えない
# # のみならず、ThumbSenseも無効化され大変まずいなどする
# # (案)Explorer開いたら自動でロックかかり、iで解除とか。
# key J = ↓
# key K = ↑
# key H = ←
# key L = →
# key S-H = BackSpace
# key S-G = End
# key G = &Prefix(vimode-goto)
# key D = Delete
# key U = C-Z # なぜかうまくいかない
#
# key Q = A-F4
#
#
#////////////////////// Eclipse //////////////////////
# Eclipse 上でviモードのテストを行う。切り替えキーの問題が解決したらexplolerでも
window Eclipse /eclipse\.exe/ : Global
# cannot use eisuu key??? key *英数 = *ctrl
key ~L1-C-Space = &Toggle(Lock1, on)
key L1-I = &Toggle(Lock1, off)
# invalid key name??? key C-_LeftSquareBracket = &Toggle(Lock1)
# visual modeをLock2にする。移動系は~L2をつけることになる
key L1-H = ←
key L1-J = ↓
key L1-K = ↑
key L1-L = →
key L1-S-_4 = End
key L1-_0 = Home
# Yunc mode
keymap2 vimode-Yunc #":vimode"がついている // Prefixより先にkeymap2群記述する必要
key Y = Home Home S-↓ &Wait(50) C-C ↑
key L1-Y = &Prefix(vimode-Yunc)
### 没 ###
# Ver.1 ロックキーver
# key Semicolon = Enter
# key C-Semicolon = Semicolon
# かなキーで特殊入力モードに移行
# key ひらがな = &Toggle(Lock0,on)
# key C-ひらがな = &Toggle(Lock0,off)
# keyseq $MODE_OFF = &Toggle(Lock0,off) # &Toggle(Lock1,off)
# key L0-Space = $MODE_OFF
# key L1-Space = $MODE_OFF
# Escすると特殊入力モードも終了。C-@がうまくいかない
# key L0-ESC = &Toggle(Lock0,off) ESC
# key L0-C-CommercialAt = &Toggle(Lock0,off) &Sync ESC