🥷

SKKに入門して日本語入力を快適にする

2024/12/09に公開

はじめに

普段、 Google IME などの日本語 IME を使った入力で、意図した箇所で変換してくれないことにストレスを感じていませんか?
SKK ではこれにより発生する書き直しを防ぐことが出来ます。
SKK についてはニコニコ大百科に詳しく記載されているので、興味ある人はそちらを読んでください。

AquaSKK のインストール

Mac で SKK を使うための選択肢として macSKK もありますが、今回はより情報が多そうな AquaSKK をインストールします。

brew install --cask aquaskk

再起動後、システム設定の キーボード > テキスト入力 > 入力ソース から AquaSKK統合 を追加すると SKK による入力が有効になります。
Windows だと CorvusSKK が人気なイメージがあります。

入力方法

SKK は Shift で変換箇所と送り仮名を明示的に指定し、Space で変換します。
例えば、「快適に日本語を入力出来ます」と入力したい場合は次のように入力します。

Kaiteki niNihongo woNyuuryoku DekiMasu

また、入力モードは以下のキーで変更できます。

  • Ctrl-j: ひらがな
  • q: カタカナ
  • l: 英字

Shift を多様する特性上、小指の負担が大きくなるので、Shift をセミコロンなどの他のキーで代用する人も多いようです。
巷ではこの設定を Sticky Shift というらしく、keymap.conf で設定できます。
自分はKarabiner-Elementsを使って Space の長押しを Shift に割り当ててます。

Vim で SKK を使用する

vim は標準の IME との相性が悪く、インサートモードで日本語を入力してから英字入力にするのを忘れてノーマルモードに戻すと悲惨なことになります。
そこで、ターミナルでの IME をオフにして skkeleton を導入することで、vimでも SKK 方式で快適に日本語が入力できるようになります。
skkeleton は変換に必要な SKK 辞書を指定してあげると、それを参照して変換してくれます。

call skkeleton#config({ 'globalDictionaries': [['辞書ファイルのパス', 'euc-jp']] })

SKK 辞書は SKK Openlab が公開しています。
AquaSKK の辞書ファイルは ~/Library/Application Support/AquaSKK/SKK-JISYO.L にありました。
skkeleton の起動を Ctrl-j に割り当てれば AquaSKK と同様の感覚で扱うことが出来ます。

imap <C-j> <Plug>(skkeleton-enable)
cmap <C-j> <Plug>(skkeleton-enable)

入力補完に ddc を使用している方は、skkeleton を補完のソースにすることも出来ます。

call ddc#custom#patch_global('sources', ['skkeleton'])
call ddc#custom#patch_global('sourceOptions', {
    \   'skkeleton': {
    \     'mark': 'Skkeleton',
    \     'matchers': [],
    \     'sorters': [],
    \     'converters': [],
    \     'isVolatile': v:true,
    \     'minAutoCompleteLength': 1,
    \   },
    \ })

おわりに

SKK に慣れるまでは違和感があるかもしれませんが、体に馴染めば変換のストレスを抑えることが出来ると思います。
送り仮名を考えて打つのが難しい場合は、 Google 日本語入力 API を利用した SKK 辞書サーバーに投げるようにすれば、より快適な環境を作れるので是非使ってみてください。

Discussion