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