uim-fepとuim-anthyの使い方と設定方法


uim-fepとuim-anthyの使い方と設定方法

前回fbtermに関する設定について書いたが,uim-fepとuim-anthyの設定を別に分けることにした.

多分こっちだけで検索してくる人の方が多いと思うので...

前回の記事
- fbtermの日本語表示.uim-fepとuim-anthyで日本語入力も.ついでに,vimの256色対応も

環境

  • lenovo-S21e
  • Ubuntu16.04LTS

uim-fep & uim-anthy で日本語入力.

日本語入力を行うソフト達.
(fbtermの起動時にこれをオプションとして渡すので,先に...)

設定方法や使い方を書いてあるサイトがあんまりなかったので,ちょっとだけ詳しく書いておくよ.

uim自体はいれなくていいので.

sudo apt install uim-fep
sudo apt install uim-anthy

これを導入しよう.

日本語入力と直接入力の切り替え方法の設定

日本語と英語との入力切替をctrl-spaceに設定するには,

  • ~/.uim

をいじれば良い.存在しなかったら作ればよい.

デフォルトでは

  • /usr/share/uim/generic-key-custom.scm

が読み込まれるらしい.

ctrl + space で切り替えを行うには次のように~/.uimに書けばよい.

~/.uim
(define default-im-name 'anthy)
(define-key generic-on-key? '("<Control> "))
(define-key generic-off-key? '("<Control> "))

ちなみに,この設定ファイルのコメントは
セミコロンで始まる行だ.
uim:~/.uim
;;;コメント

一つでいいのかどうかは確かめていない.

ちなみに細かなコマンドとかはここで見れるよ.

uim/uim-doc-ja UimAnthy

uimの使い方と設定の変更

文字の変換と候補選択

変換はスペース.

そして候補の選択はスペースでもいいが,一方通行なので次を使う.

ctrl+p
ctrl+n

で前後の選択ができる.もちろん矢印も使えるが,ホームポジションから離れてしまうのでおすすめできない.

隣の文節の変換に移る

分割された時は

ctrl+f
ctrl+b

で次の単語や前の単語に移ることができる.

文節の長さの調整

そして区切りの変更は

ctrl+o
shift →

で伸ばすことはできるんだけど,
縮める方がデフォルト設定の

ctrl+i
shift ←

だとコンソールの制約上(?)うまく動かない.

mswinvksの忘備録 uim-fepのキーバインドを変更

だから,次のようにキーバインドを変更しとこう.

割り当てるキーもまた悩ましいものだが,

ctrl+y %伸ばす
ctrl+e %縮める

に割り当てることにした.
(vimのペアのキーって残りctrl+u, ctrl+dとctrl+],ctrl+tぐらいだから,その中で押しやすそうなのを選んだ)

キーバインドの設定ファイル自体はここにあるので,これを参考にする.

  • /usr/share/uim/anthy-key-custom.scm

ただ,直接書き換えるのではなく,~/.uimに書いておこう.
(なければ作る.)

dotfile関連はまとめておいた方が管理が楽だし,設定の共有も簡単だ.
dotfileの管理方法については色々あるのでお好きな方法を.

ちなみにgitlabで管理してま〜す.このQiita記事もね.

(´・ω・`) < GitHub...嫌い...

(´・ω・`) < だって,private repository 無料(タダ)で作れないもん.

(´・ω・`) < 他人に見せられないものが大半だから...

ここで,文節を縮める設定は

  • anthy-shrink-segment-key

だ.これをキーワードに検索するとよい.
逆に伸ばすのは,

  • anthy-extend-segment-key

だ.

コピペしてくるとこんな感じ.

/usr/share/uim/anthy-key-custom.scm
(define-custom 'anthy-extend-segment-key '("<IgnoreCase><Control>o" "<Shift>right")
               '(anthy-keys1)
           '(key)
           (N_ "[Anthy] extend segment")
           (N_ "long description will be here"))

(define-custom 'anthy-shrink-segment-key '("<IgnoreCase><Control>i" "<Shift>left")
               '(anthy-keys1)
           '(key)
           (N_ "[Anthy] shrink segment")
           (N_ "long description will be here"))

見たところ,それぞれの一行目ののあるカッコの中をいじればいいのだろう.
どうせなら二つともセットで変え,

ctrl+y
ctrl+e

にしておこう.

すると,結局こんな感じのコードを~/.uimに書けばいいことになる

~/.uim
(define-custom 'anthy-extend-segment-key '("<IgnoreCase><Control>y")
               '(anthy-keys1)
           '(key)
           (N_ "[Anthy] extend segment")
           (N_ "long description will be here"))

(define-custom 'anthy-shrink-segment-key '("<IgnoreCase><Control>e")
               '(anthy-keys1)
           '(key)
           (N_ "[Anthy] shrink segment")
           (N_ "long description will be here"))

句読点をピリオドとコンマにしたい

そんな時は~/.uimにこう書けばよい.

~/.uim
(require "japanese.scm")
(define ja-rk-rule
 (append '(
       (((",") . ()) ("," "," ","))
       (((".") . ()) ("." "." "."))
      )
  ja-rk-rule))

逆に,普通の句読点が打てなくなってしまうので注意.

もっとうまく設定できるんだろうけど...

[参考文献]