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 43 例 44 (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