AquaSKK は version 4.7.0 から Stickey Shift が実装されたようなので設定してみました。
環境
- OS: macOS Mojave 10.14.6
- Homebrew: 2.1.15-63-g090259b
- Homebrew/homebrew-cask: (git revision ec6b9; last commit 2019-10-26)
- AquaSKK: 4.7.0
- neovim: 0.4.2
- eskk.vim: 207d05cd
AquaSKK の install
homebrew-cask に formula があるので
- $ brew cask install aquaskk
で Install できます。
SKK とは
日本語のかな漢字変換プログラムの一つです。
形態素解析を行なわず、漢字に変換、もしくは送り仮名付きの漢字の変換箇所をユーザが指定して入力します。
何を言っているのかさっぱりな感じもあるので、具体的な例を見ていきましょう。
漢字変換
例えば『漢字』と入力したい場合、「ことえり」や「Google 日本語入力」では
- kanzi<space> または kanji<space>
と入力します。
そして SKK では、変換を開始する入力を大文字のアルファベットで指定します。よって
- Kanzi<space> または Kanji<space>
と入力します。
送り仮名付き漢字変換
さて、次は『感じ』と入力したい場合を想定します。
「ことえり」や「Google 日本語入力」では変わらずに
- kanzi<space> または kanji<space>
と入力します。また、その時の変換候補に『漢字』が出ることもあるでしょう。
SKK では送り仮名付きの漢字変換の時の変換箇所も大文字アルファベットで指定します。つまり
- KanZi<space> または KanJi<space>
と入力します。そうすると、「感じ」「観じ」といった送り仮名付きの変換候補しか出ません。
さらに言えば、先程の『漢字』の入力について
- Kanzi<space> または Kanji<space>
と入力した場合の変換候補は「漢字」「幹事」「監事」といった、送り仮名無しの候補しか出ません。
これが結構便利で、「送り仮名あり、送り仮名無し」の入力に関しては誤字が少なくなります。
横道: 形態素解析をしない、ということ
例に上げたように、漢字入力の際や送り仮名付きの漢字入力では SKK にはメリットがあります。
しかし、変換のポイントを自分で指定するため
- これは漢字の入力のテストです
といった入力は一度にはできません。
「ことえり」や「Google 日本語入力」では全てのアルファベットを入力した後、先頭から少しずつ変換することができます。
なので、それぞれ得手不得手がある、と思った方が良いかと思われます。
Sticky Shift とは
さて、ここまで来ると Sticky Shift のお話ができます。
Sticky Shift とは、変換の指定ポイントを大文字のアルファベットでは無く、特定の文字で指定する方法です。
例えば、';' を設定した場合、先程の「漢字と感じ」は
- ;kanji<space>to;kan;ji
と入力できます。
一見冗長ですが、慣れると便利です。
加えて、大文字入力が必要無いので Shift Key を使わずに入力を完結させることができます。
なお、eskk.vim では default で ';' Key が Sticky Shift 用の文字として実装されています。
なお、eskk.vim では default で ';' Key が Sticky Shift 用の文字として実装されています。
Sticky Shift の設定
そしてkeymap.conf については AquaSKK の wiki に記述があります。
ので設定してみましょう。大元の設定をコピーして追記します。
なお、コピー先の ~/Library/Application\ Support/AquaSKK については、AquaSKK を install した時に作られています。
なので
そして ~/Library/Application\ Support/AquaSKK/keymap.conf に
- $ cp /Library/Input\ Methods/AquaSKK.app/Contents/Resources/keymap.conf ~/Library/Application\ Support/AquaSKK
そして ~/Library/Application\ Support/AquaSKK/keymap.conf に
- StickyKey ;
その後、AquaSKK のプロセスを殺すか、reboot 等で AquaSKK が再起動すれば、Sticky Shift が有効になっているはずです。
めでたしめでたし。
参考
- AquaSKK - 日本語を快適に
- Release Sticky Shift · codefirst/aquaskk · GitHub
- GitHub - tyru/eskk.vim: eskk is pure Vim script implementation of input method engine SKK
- eskk.vim/eskk.vim at 207d05cd50d126a84271aca7f02b3f839dab27c3 · tyru/eskk.vim · GitHub
- StickyShift · codefirst/aquaskk Wiki · GitHub
- keymap.confの文法 - AquaSKK Wiki - AquaSKK - OSDN