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

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



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

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

前回の記事
- [fbtermの日本語表示．uim-fepとuim-anthyで日本語入力も．ついでに，vimの256色対応も](https://qiita.com/Pseudonym/items/12e447557a5234bb265b)

環境
=================
- lenovo-S21e
- Ubuntu16.04LTS

uim-fep & uim-anthy で日本語入力．
===============
日本語入力を行うソフト達．
（fbtermの起動時にこれをオプションとして渡すので，先に．．．）

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

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

```bash
sudo apt install uim-fep
sudo apt install uim-anthy
```

これを導入しよう．

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

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

- ~/.uim

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


デフォルトでは

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

が読み込まれるらしい．


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

```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](https://github.com/uim/uim-doc-ja/wiki/UimAnthy)


uimの使い方と設定の変更
====================

文字の変換と候補選択
--------------------
変換はスペース．

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

```uim
ctrl+p
ctrl+n
```

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

隣の文節の変換に移る
-------------------
分割された時は

```uim
ctrl+f
ctrl+b
```

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


文節の長さの調整
---------------------------

そして区切りの変更は

```uim
ctrl+o
shift →
```

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

```uim
ctrl+i
shift ←
```

だとコンソールの制約上（？）うまく動かない．

[mswinvksの忘備録 uim-fepのキーバインドを変更](http://blog.livedoor.jp/mswinvks/archives/8188782.html)


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

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

```uim
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

だ．

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

```uim:/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"))

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

```
ctrl+y
ctrl+e
```

にしておこう．

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

```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:~/.uim
(require "japanese.scm")
(define ja-rk-rule
 (append '(
	   (((",") . ()) ("，" "，" "，"))
	   (((".") . ()) ("．" "．" "．"))
	  )
  ja-rk-rule))
```

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

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

[参考文献]
=============================
- [uim/uim-doc-ja UimAnthy](https://github.com/uim/uim-doc-ja/wiki/UimAnthy)
- [mswinvksの忘備録 uim-fepのキーバインドを変更](http://blog.livedoor.jp/mswinvks/archives/8188782.html)