1uim-fepはuimを利用してコンソールで多言語を入力するためのfepです。
2
3
4* インストール
5  INSTALLを見てください。
6
7
8* 使い方
9  LANGに使用する言語とエンコーディングを設定します。
10  LC_ALLかLC_CTYPEでもいいです。
11  サポートされている言語とエンコーディングは
12  locale -a
13  で確認できると思います。
14
15  例 sh系でja_JP.euc-jpにする
16  $ LANG=ja_JP.eucjp ; export LANG
17
18  例 csh系でja_JP.utf-8にする
19  % setenv LANG ja_JP.utf8
20
21  例 Solarisでeuc-jpで使う
22  $ LANG=ja ; export LANG
23  % setenv LANG ja
24
25  $ uim-fep
26  SHELLが起動します。キーバインドなどはuimのマニュアルを見てください。
27
28  変換エンジンは~/.uimに
29  (define default-im-name 'anthy)
30  のように書きます。
31
32  注意
33  デフォルトのキーバインドでは、uim-fepでは以下の操作が行えません。
34  anthy
35  文節を縮める
36  prime
37  全角英数モードにモード変更
38  canna
39  文節を縮める
40
41  これらの操作を行うためにはuim-prefでキーバインドを設定するか~/.uimに次のように書きます。
42
4344  (require-module "anthy")
45  (define-key anthy-shrink-segment-key? '("tab" "<IgnoreCase><Control>i" "<Shift>left"))
46  (require-module "prime")
47  (define-key prime-wide-latin-key? '("<Control><Alt>l" "<Control>L"))
48  (require-module "canna")
49  (define-key canna-shrink-segment-key? '("tab" "<IgnoreCase><Control>i" "<Shift>left"))
50
51
52* 環境変数
53  o TERM
54    terminfo/termcapの端末名を指定します。
55    これが適切に設定されていないと使えません。
56
57  o SHELL
58    -eオプションが指定されていないときに起動されるコマンドを指定します。
59    コマンド名か絶対パスを設定してください。
60
61  o LC_ALL LC_CTYPE LANG
62    文字コードを決めるときにこの順番で見ます。
63
64  o WINDOW
65    backtickを使っているときに表示されます。
66
67  o UIM_FEP_PID
68    uim-fepのPIDが設定されます。
69
70  o UIM_FEP_GETMODE
71    uim-fepのモードが書き込まれるファイルです。
72
73  o UIM_FEP_SETMODE
74    このファイルにモードを書き込むとuim-fepのモードが変わります。
75    $ echo 0 > $UIM_FEP_SETMODE
76
77  o LIBUIM_USER_SCM_FILE
78    uimの設定ファイルを指定します。定義されていないと~/.uimになります。
79
80
81* オプション
82
83  o -u <engine>
84    変換エンジンを指定します。
85
86  o -s lastline | backtick | none
87    ステータスラインの表示場所を指定します。
88    -sl, -sb, -snのように省略できます。
89
90  o -b <file>
91    backtickで使うsocketのパスを指定します。相対パスのときは、~/.uim.d/fep/
92    からのパスになります。
93
94  o -w <数値>
95    ステータスラインの幅です。
96
97  o -t <秒>
98    rshを使っていると"F1", "up", "<Alt>a"などが認識されないことがあり
99    ます。これはエスケープシーケンスが一度に入力されないからです。
100    そのような場合はこのオプションでエスケープのあとの待ち時間を設定し
101    ます。このオプションを付けないときの待ち時間は0秒です。
102    例 待ち時間を0.1秒にする
103    $ uim-fep -t 0.1
104
105  o -C [<foreground color>]:[<background color>]
106     プリエディットや-s lastlineのときのステータスラインの色を指定しま
107     す。使用するアプリケーションの背景色が通常の背景色と違う場合にこ
108     のオプションで色を合わせてください。
109
110     <foreground color>、<background color>の部分は次の16色が使えます。
111     lightblackより下の色は表示できない端末があります。
112
113                 省略記法
114     black          k
115     red            r
116     green          g
117     yellow         y
118     blue           b
119     magenta        m
120     cyan           c
121     white          w
122     lightblack     lk
123     lightred       lr
124     lightgreen     lg
125     lightyellow    ly
126     lightblue      lb
127     lightmagenta   lm
128     lightcyan      lc
129     lightwhite     lw
130
131     例 前景色を白、背景色を黒にしてjedを起動する
132     $ uim-fep -C white:black -e jed
133     例 背景色を青にする
134     $ uim-fep -C :blue
135     例 前景色を黄色にする
136     $ uim-fep -C yellow:
137
138  o -c
139    カーソル位置の文字を反転表示します。
140    kterm, aterm, rxvt, teraterm(カーソル点滅なしの状態)などの端末
141    では反転された文字にカーソルがあると反転が消えることがあります。
142    このような場合はこのオプションを付けると反転文字にカーソルが
143    あるときに反転されるようになります。
144
145  o -i
146    ステータスラインを描画しているときやプリエディット(未確定文字列)
147    の末尾以外を編集しているときにカーソルを一時的に消します。カー
148    ソルの残像が気になるときはこのオプションを付けてください。
149
150  o -o
151    プリエディットの表示スタイルをOn The Spotにします。jedなどの背
152    景色があるアプリケーションを使うと右端の背景色が消えることがあ
153    ります。
154
155  o -S
156    GNU screenでフィルタとして使えるようにします。(GNU screen 4.0.2以降)
157    例えば、~/.screenrcに
158
159    bind J exec | uim-fep -S
160    bind K eval 'exec cat' kill redisplay
161
162    このように書けば、C-a Jでuim-fepをフィルタとして起動し、C-a K
163    で終了できるようになります。
164
165    -sオプションにかかわらずモード表示には
166    backtickが使われます。
167
168    UIM_FEP_SETMODE, UIM_FEP_GETMODEの値は
169    $HOME/.uim.d/fep/setmode-$STY-$WINDOW-screen
170    $HOME/.uim.d/fep/getmode-$STY-$WINDOW-screen
171    になります。
172
173  o -f str
174    $UIM_FEP_SETMODEと$UIM_FEP_GETMODEのファイル名を
175    setmode-{str}
176    setmode-{str}
177    にします。{str}は-fオプションの引数です。
178    UIM_FEP_SETMODEとUIM_FEP_GETMODEが置かれるディレクトリは
179    ~/.uim.d/fep/です。
180
181  o -d
182    候補一覧の表示スタイルをddskkのようにします。
183
184  o -K
185    押されたキーの~/.uimでの表記を示します。
186    -tオプション以外のオプションは無視されます。
187
188  o -e command arg1 arg2 ...
189    起動するコマンドを指定します。このオプション以降の引数は
190    commandに渡されます。
191
192  o -h ヘルプメッセージを表示します。
193
194  o -v バージョンを表示します。
195
196
197* backtickの使い方
198  GNU screen 3.9.15以降が必要です。
199
200  uim-fep-tickをPATHの通ったところに置いてください。
201  ~/.screenrcに
202
203    backtick 0 0 0 uim-fep-tick
204    hardstatus alwayslastline "%0`"
205
206  と書きます。
207  screenのウィンドウで
208
209    $ uim-fep -s backtick
210
211  と起動します。
212
213  o uim-fep-tickのオプション
214    * -s <file>
215      socketのパスを指定できます。相対パスのときは、~/.uim.d/fep/
216      からのパスになります。
217
218    * -h ヘルプメッセージを表示します。
219
220    * -v バージョンを表示します。
221
222  o uim-fepはscreen内の複数のウィンドウで起動できます。
223
224  o uim-fep-tickはscreenから起動されるため、screenの環境変数が引き継が
225    れます。
226
227  o backtickの反応がなくなったら
228    $ screen -X backtick 0 0 0 uim-fep-tick
229    と起動してください。
230
231
232* ~/.uimを書くときの注意点
233  o キーの表記法についてはREADME.keyを参照してください。
234
235  o Altキーを使うにはAltを押しながら他のキーを押したときに、^[が出力さ
236  れるようにします。
237  mltermの場合は~/.mlterm/mainに次のように書きます。
238    mod_meta_mode=esc
239  ktermの場合は~/.Xresourceか~/.Xdefaultsに次のように書きます。
240    KTerm*EightBitInput: false
241
242  o "<Alt>F1", "<Alt>right"などが使える端末もあります。
243
244  o shift-spaceは入力できません。
245
246  o prime-wide-latin-key?の"<Control>L"は入力できません。
247
248  o shift-backspaceは入力できません。
249
250
251* リダイレクトの動作
252  標準出力のリダイレクトはuim-fepと子プロセス(シェル)のすべての出力を変更します。
253
254  例: logにすべての出力を書き込む(scriptコマンドと同じ)
255  $ uim-fep|tee log
256
257  入力のリダイレクトは子プロセスの標準入力を変更します。
258
259  例: lsの出力をw3mで見る
260  $ ls|uim-fep -e w3m
261
262
263* 問題点
264  o プリエディット編集中に端末のサイズが変更されると表示が乱れることが
265    あります。
266
267  o screenの中でuim-fepを-s lastlineで使っているとき端末のサイズを変更
268    すると稀にscreenが暴走することがあります。
269
270  o 無反応になったり暴走したりしたら
271    $ kill -INT <uim-fepのpid>
272    このコマンドで直ると思います。ただし変換はできなくなります。
273
274
275* 注意
276  中ボタンクリックやShift+Insertのペーストなどで一度に大量に入力された
277  ときは変換せずにそのまま出力されます。
278  プリエディットを入力中にペーストすると無効になります。
279
280  端末の右端でプリエディットを開始すると次の行に移ります。
281
282
283* 履歴
284  o 2005/6/15
285    * リダイレクトの動作を変更しました。(上の「リダイレクトの動作」を見てください)
286
287  o 2005/5/16
288    * -Kオプションを追加しました。
289
290  o 2005/5/15
291    * -dオプションを追加しました。
292    * Cygwinで動くようにしました。(EUC-JPのみ対応)
293    * DOSプロンプトで動くようにしました。
294    * キーの表記を一部変更しました。
295      Ctrl + mを"<Control>m"から"return" など
296      README.keyを参照してください。
297
298  o 2005/2/11
299    * -Sオプションを追加しました。
300
301  o 2004/8/9  0.4.1
302    * プリエディット描画の前後で色を保存するようにしました。
303
304  o 2004/8/1  0.4.0
305    * -Cオプションを追加しました。
306
307  o 2004/7/29 0.3.9
308    * pyで落ちないようにしました。
309
310  o 2004/7/17 0.3.8
311    * Solarisでコンパイルできるようにしました。
312
313  o 2004/7/3 0.3.7
314    * wcswidthがなくてもコンパイルできるようにしました。
315    * 変換候補数の表示を変更しました。(日本語以外では"残り"が表示できないため)
316
317  o 2004/6/29 0.3.6
318    * -lオプションを廃止しました。環境変数LANGを使ってください。
319    * euc-jpで半角カナを2カラムとして扱っていたバグを修正しました。
320    * euc-jp, utf-8以外でも使えるようにしました。
321    * -tオプションを追加しました。
322    * rsh先でも使えるようにしました。
323
324  o 2004/6/21 0.3.5
325    * 最下行で起動するとおかしくなるバグを修正しました。(0.3.4のバグ)
326
327  o 2004/6/20 0.3.4
328    * プリエディット描画の高速化しました。
329    * 行を跨いだ変換でゴミが残らないようにしました。
330    * -oオプションを廃止しました。
331
332  o 2004/6/17 0.3.3
333    * 致命的なバグを修正しました。(0.3.2で入ったバグです)
334    * ウィンドウサイズが変更されたときにステータスラインを再描画するようにしました。
335    * プリエディット編集中にウィンドウサイズが変更されたときにプリエディットを
336      上書きしてしまうバグを修正しました。
337
338  o 2004/6/13 0.3.2
339    * TERM=vt100などでモード表示が消えてしまうバグを修正しました。
340    * 開始時に画面をクリアしないようにしました。
341    * skkで高速に入力すると表示がおかしくなるバグを修正しました。
342
343  o 2004/6/7 0.3.1
344    * skkで"tt"と入力すると"つt"と出力するようにしました。
345    * 行を跨いだ変換をできるようにしました。
346    * -oオプションを追加しました。
347    * primeで表示が乱れるバグを修正しました。
348
349  o 2004/05/31 0.3.0
350    --mltermオプションを廃止しました。
351    -c, -iオプションを追加しました。
352
353  o 2004/05/29 0.2.9
354    ペーストで入力された長い文字列を変換しないようにしました。
355    ステータスラインを描画しているときやプリエディットの末尾以外を編集
356    しているときにカーソルを一時的に消すようにしました。(効果はあまりないです。)
357    terminfoのclearかedが空文字列のとき暴走するバグを修正しました。
358
359  o 2004/05/18 0.2.8
360    --mltermオプションを追加しました。
361    vimで制御できるようにしました。(KoRoNさん)
362
363  o 2004/05/16 0.2.7
364    -s lastlineのuim-fepからscreenを起動しても表示が乱れないようにしました。
365    uim-fep -s lastline -e screen
366
367  o 2004/05/15 0.2.6
368    落ちるバグを修正しました。
369    anthyで長い文字列を変換するときやのちらつきを少なくしました。
370    screenで(プレエディットの編集などで)右端から次の行の左端に移動できるようにしました。
371    jfbtermで最下行のステータスラインが白くならないようにしました。
372
373  o 2004/05/10
374    0.2.5 画面クリア時に最下行のステータスラインを再描画するようにした。(mattnさん)
375    終了時に最下行のステータスラインを消すようにした。(mattnさん)
376
377  o 2004/05/09
378    0.2.4 skkでC-j, /, C-j, /の順に押すと何も出力されなくなるバグを修正。
379
380  o 2004/05/06
381    0.2.3 uim-0.3.6に対応 (constを付けただけ)
382    -vオプションを追加
383    ステータスラインを消すときにclr_eolを使うようにした。
384
385  o 2004/05/04
386    0.2.2 ステータスラインから候補がはみ出ないようにした。
387    uim-fep-tickを-wオプションをuim-fepのオプションにした。
388    uim-fep-tickの-lオプションを廃止した。
389
390  o 2004/05/03
391    0.2.1 nr-candidate-maxを0以下にしていると落ちるバグを修正。
392
393  o 2004/05/01
394    0.2 最下行をステータスラインにしてウィンドウサイズを変更すると最下
395    行に移動できてしまうバグを修正。
396    同じソケットを使うuim-fep-tickのプロセスを2つ以上できないようにした。
397    はみ出た候補も強調するようにした。
398    configureのオプションでbacktickの幅を変えれるようにした。
399
400  o 2004/04/26
401    0.1.9 連続でcommitされるとおかしくなるのを修正。
402
403  o 2004/04/26
404    0.1.8 ステータスライン関係のバグ修正
405    uim-fep-tickに-lオプションを追加
406
407  o 2004/04/25
408    0.1.7 configureをつけた
409    <c-\>などを入力できるようにした。
410    ステータスラインの候補がはみ出ても表示が乱れないようにした。
411    暴走したときに止めれるようにした。
412
413  o 2004/04/18
414    0.1.6 primeに対応
415
416  o 2004/04/17
417    0.1.5 utf-8(mattnさんのパッチ) backtick
418
419  o 2004/04/12
420    0.1.4 バグ修正
421
422  o 2004/04/11
423    0.1.3 ステータスライン
424
425  o 2004/04/11
426    0.1.2 バグ修正
427
428  o 2004/04/10
429    0.1.1 バグ修正
430
431  o 2004/04/09
432    0.1 属性とカーソル
433
434  o 2004/04/03
435    開発開始
436
437質問、バグ報告などは h013177b@ice.nuie.nagoya-u.ac.jp にお願いします。
438