Closed13

令和にSKKに入門したくなったときに見るメモ

ピン留めされたアイテム
ぱんだぱんだ

まとめ

  • MacでもAquaSKKを使うことでSKKを使うことができる
  • SKK使うならSKK Serverを起動してGoogle日本語入力と連携させたほうが良い(少なくとも最初のうちは)
  • お試しで使うならRuby製のgoogle-ime-skkというgemが楽
  • SKK ServerはMacのAutomatorで自動起動できるようにしておくと良さそう
  • やってないならKarabinarの日本語向け設定のCmdでIME切り替えるやつを設定しといたほうがいい
  • keymap.confに追記して、;で変換モードにできるようにしたほうがいい(好み)
  • .ruleファイルを作成することで日本語入力のカスタムができるので必要ならする
  • 絵文字辞書もあるので追加しておく
  • ニコニコのwikiに一通り目を通しておく
ぱんだぱんだ

SKKに入門したい

  • Mac標準の日本語IMEにイラつくことが多くなった
  • Google日本語入力を知ったのでそれでもいいのだけどSKKの存在を知ったので
  • Vimと相性が良さそうだったから(Vimmerではないけど)
  • ユーザー辞書をほとんど使ってこなかったがSKKは辞書登録が非常に簡単そうだったから
  • なんか使ってるとかっこよさそうだから
ぱんだぱんだ

SKKでやりたいこと

  • SKKを使って日本語、英字を簡単に切替えたい
  • SKK自体のカスタマイズはなるべくやりたくない(使うまえに心折れそうなため)
  • コード書くときだけでなくブラウザとか他のところでも使う想定
  • Spaceではなく;で変換する節の指定ができるそうなのでその設定がしたい
  • Google日本語入力のAPIを使ってSKKを使用すると雑にSKKを使ってもそれなりに使えるっぽいのでそうしたい
  • 正直、絶対Google日本語入力にしといたほうが速いけど、使ってみないとわからないし、vimも無理矢理使っておぼえたからSKKもとりあえず使ってみる
ぱんだぱんだ

キーバインドを設定する

普通にインストールしたSKKをキーボード設定に追加した
普段US配列のキーボードを使っているから言語切替はCtrl + Spaceでやっていたが、入力しているところでCtrl + SpaceとしてもSKKに切り変らないためKarabinerを使って設定する
といっても、日本語向け設定をインストールして、Cmdキーで文字切替ができるように設定するだけ

ぱんだぱんだ

SKK Server

https://zenn.dev/mirko_san/articles/2df537bfaef166

SKKではSKK Serverなるものを起動して使うことができるそうな。上記の記事で紹介されているのは yaskkserv2 の導入について紹介されている。

SKK Serverが何でいるかというとSKKは日本語変換のストレスを減らしてくれるけど、やっぱりGoogle日本語入力の雑に変換させてもいい感じに変換してくれるのがほしかったりするので、SKK Serverを立ててGoogle IME連携をしたいよねみたいな話らしい。

今からSKKを始めるなら何がいいのか良くわからなかったが、Rust製で作り直されたyaskkserv2を使い始めるのがよさそうな気もしたが起動までの手順が多くて、少し面倒だなと思ってたところRuby製のgoogle-ime-skkというgemがあることを知り、こちらのほうが手軽に始められそうだったので使ってみることにした。10年以上前に開発されたっぽいのとメンテナンスもされてなさそうだけどSKK使い続けるかわからないし、とりあえず動けばいいかなということで。(動かなかったりしたら素直にyaskkserv2を使おうと思う)

https://blog.sushi.money/entry/20110421/1303274561

ruby -v
ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [arm64-darwin23]

gem install google-ime-skk
Fetching google-ime-skk-1.4.0.gem
Successfully installed google-ime-skk-1.4.0
1 gem installed

インストールできたら以下のコマンドでSKK Serverを起動できるっぽい

google-ime-skk

上記のzennの記事ではSKK Serverの起動を自動化するのにmacのAutomatorワークフローを紹介していた。

最新のRubyのバージョンでやったらできてなさそうだったのでRubyのバージョンを下げてやったらできたっぽい。

ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [arm64-darwin23]

正直、SKKサーバーを起動してGoogle日本語入力と連携して雑に変換できるようにしないとSKK使える気がしない。逆にGoogle日本語入力があることでそこまでユーザー辞書登録を頻繁にしなくても入力できるようになった。これがないと毎回辞書登録になって正直慣れないと使い物にならない、気がした。

あとは、毎回フロントで実行するのもあれなので自動で毎回バックグラウンド実行してほしい。

いろいろ方法はありそうだがmacのAutomatorでシェルスクリプトを実行するのが一番楽そうだったのでそれを使う。

こちらが参考になった

https://qiita.com/kagerou_ts/items/2606703e70c5eb18fb37

  • 普通にAutomatorを開く
  • シェルスクリプトを実行で以下を記載
export PATH=$PATH:$HOME/.rbenv/shims
google-ime-skk
  • Automatorでは実行環境を引き継がないらしいのでコマンドのPATHが見つからないとなってしまうので最初にPATHを通す必要がある
  • Automator自体がバックグラウンドで実行されてそうなので普通に起動する
  • アプリケーションとして作ってこれをログイン時の起動アプリとして登録する

一旦これで良さそうだけどgoogle-ime-skkが動かなくなったり、yaskkserv2のほうが速いとかになったらyaskkserv2に切り替えるかもしれない。

ぱんだぱんだ

拡張ローマ字入力でAZIKというのがあってあわせて使ってる人が多いけどちょっと覚えるの大変そうだから一旦スルーで

ぱんだぱんだ

絵文字対応

ぱっと調べたところ以下の2つの絵文字辞書がありそうなため追加する

https://github.com/uasi/skk-emoji-jisyo

cd ~/Library/Application\ Support/AquaSKK
curl -O https://raw.githubusercontent.com/uasi/skk-emoji-jisyo/master/SKK-JISYO.emoji.utf8

READMEに書いてあるとおりAquaSKKに辞書のパスを指定して手動で追加する

これ変換モード(▽)のときにsmileみたいに入力すると😄に変換できるということだったのだけどそもそも変換モードのときにどうやって英字入力するのかがわからなくてめっちゃ調べてしまった

結果、/を入力したときのモードでできた。

以下絵文字チートシート

https://www.webfx.com/tools/emoji-cheat-sheet/

こっちみたほうがいいな

https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md

例えば🙇なら/ bow で変換できる

https://github.com/ymrl/SKK-JISYO.emoji-ja

cd ~/Library/Application\ Support/AquaSKK
curl -O https://raw.githubusercontent.com/ymrl/SKK-JISYO.emoji-ja/master/SKK-JISYO.emoji-ja.utf8

こっちもAquaSKKに直接辞書追加するだけでいい

ぱんだぱんだ

カスタムルール

https://blog.solunita.net/posts/aqua-skk-customize-late-2017/

上記の記事にあるようにカスタムルールを設定することで日本語入力を拡張することができる。

?と!が全角でだせないのと、- が日本語入力モードから出せないのをこのカスタムルールを設定することで解決したいのだがどうやって設定するのかがよくわからない、、

~/Library/Application Support/AquaSKK配下にたぶん.ruleファイルを作成することでAquaSKKの環境設定からカスタムルールを追加できそう

とりあえず、以下を設定

###
### custom-symbols.rule
###

!,!,!,!
?,?,?,?
#~,?,?,~
(,(,(,(
),),),)

z-,-,-,-

とりあえず、!と?をひらがなモードのときは全角にするのと半角ハイフンはよく使うのでz-で出せるようにした。~も全角にしたかったが文字コードの関係で文字化けするのを直せなかったので一旦なしで。このファイルの文字コードはEUC-JPで保存する必要があるらしいので注意。

あと、SKK日本語入力FEP互換の記号入力という拡張設定も有効にした。これは地味に【】このかっこを使う機会があるのでz(,z)でだせるようにしたかったから。

ぱんだぱんだ

Ctl + J問題

terminalでCtl + Jでかなモードにしようとすると改行も実行されてしまう。
これはkittyでは起こらなかったがterminalをghosttyにしたら起こるようになってしまった。
後述するlによる英数モードへの切り替えもterminal上で実行しようとするともれなくlが入力されてしまう問題もあり、以下の記事のようにみんな遭遇する問題らしい。

https://roodni.hatenablog.com/entry/2020/08/29/204340

解決策

ghosttyの設定でCtl + Jをunbindにした

keybind = ctrl+j=ignore
ぱんだぱんだ

Terminalでの英数モード切替問題

前述の通り英数モードにterminalで切替をするとlも入力されてしまう問題。
これはAquaSKKのkeybindを変更することで対応。

SwitchToAscii           ctrl::shift::l

これでいいかと思ったら今度はkeycodeみたいなのが出力されるようになってしまったのでしょうが無いのでghostty側にも設定を追加する

keybind = ctrl+shift+l=ignore

ちょっと微妙な気もしてるけど一旦これで解決した

もともとctl + spaceでIME切替していたのでCtl + spaceで英数モードに切り替えられるようにした

SwitchToAscii           ctrl::hex::0x20
このスクラップは6ヶ月前にクローズされました