Humanity

Edit the world by your favorite way

eskk構想 - その他のアイデア

SKK辞書にはS式を含めることができる

skk.vimのTODOコメントに「辞書にS式が書かれていた場合の処理」とか書いてあって、
それってどういう場合に役に立つんだろう、と思っていたらこんな例(?)が。

622 :名称未設定:2009/06/19(金) 10:22:19 ID:0tEGq24h0
/todayで日付が出ると便利なんですが。

642 名前:名称未設定 [sage] :2009/07/26(日) 00:48:21 id:SdGTIhxN0
/today したら
(skk-current-date (lambda (date-information format gengo and-time)
(skk-default-current-date date-information nil 3 'gengo 0 0 0)))

ってでてきました

AquaSKKスレッド 3

今日の日付を変換で表示!汎用的ですばらしい。SKKすばらしい。
そういえば確かSKKの元となった「Kanzen」ってIMは竹内郁雄さんが作ったんだっけ。
*1


うーんScheme処理系だけどVimスクリプトで作りたいと思ってて、こんな所で需要があるとは思わなかったw
VimスクリプトSchemeとか前www.vim.orgで見た気がするけどね。
まぁこれはあとで。

単語登録画面でバックスペースキーを押し、空になったら単語登録を抜ける

178 名前:名称未設定 [sage] :2008/04/29(火) 17:18:23 ID:+q0aSuY60
>>173
つまりcontrol+hだけで単語登録画面キャンセル、
かつTypo修正箇所まで戻りたいと
cancelとbackspeceの意味が違うからなあ。気持ちは分かるけど

183 名前:名称未設定 [sage] :2008/05/09(金) 08:09:10 ID:H/SBTfor0
>>178
私も戻りたいな。
世のIMでも、deleteで読みに戻るのは多いと思う。
まあ、世のIMでは、いきなり単語登録モードには
ならないので、事情は違うけど。

AquaSKKスレッド 3

現在のモードの表示

264 名前:名称未設定 [sage] :2008/08/20(水) 11:42:56 ID:i+es0EIk0
ときどき今がカタカナモードなのか、アスキーモードなのか、
日本語変換モードなのかがわからなくなる時があります。

▽って出ているところで今なんのモードなのかがわかればとてもハッピーなのだ

AquaSKKスレッド 3
  1. statusline
  2. インサートモードでのカーソルのハイライト

文脈判断

594 名前:やんやん ◆yanyan72E. [sage] :2009/04/07(火) 02:28:25 id:WNE6HYri0
BE:152586454-2BP(0)
sssp://img.2ch.net/ico/gocchin_face.gif
本当はSKKインターフェイスで漢字変換は前後の文脈を読みとって
ATOKぐらい頭のいいエンジンがやってくれるってのが理想なんだけれど
現実問題として無理だよねぇ。

AquaSKKスレッド 3

! 文脈判断かー。
この言葉の後にはこういう言葉がきやすいとか。
変換候補に重み付けをするわけか。


変換候補はリストで取得できればいいね。
非同期処理が使えなければ上限を設定するしかないけど。

再変換

Aqua SKKではできるらしいですよ。

957 名前:名称未設定 [sage] :2010/03/14(日) 13:59:34 id:xW8V79ZX0
再変換したあとにゴミが付くようです。

東京都

↓ 『東京都』を選択し、 Ctrl-/

▽とうきょうと

↓ Return を押下

とうきょうと東京都

使用Ver. 4.1(2009-12-12)
Mac OS X 10.6.2

AquaSKKスレッド 3

mecab-skkserv使えば文節もできるけど。
しかし当たり前だけど素で入ってないしそこらへん考えて変換/再変換のAPIを練る必要がありそう。

...あと他にも漢字の意味から逆にひくモードとか。
国語辞典とかのWeb API叩くとかして。

Escキーを辞書登録の時のC-gに割り当てたい

Vimなんだし。

Anthyをeskkで実現(メモ)

マーカーをノーマルモードの時も出す
モード側でバッファテーブルが空の時にeskk#sticky_key()を呼び出せばいい。

配列の変更(メモ)

配列の変更の実装はいずれか。

  1. そういうモードを作って配列の名前を指定するようにする
  2. eskk#filter_key()側でやってしまう

これもテーブルと同じく定義は:mapコマンドみたく変えられるといい。

AquaSKKは自動更新辞書ってのがあるらしい

辞書をパスで選ぶ場合にそれがURLでhttpだったらGETしてくれるとうれしいかも。
GETとかの関数はperlインターフェースとか使えればそれを使う方法もアリかも。
色んなインターフェースを(実行時に)試してみるのもいい。

SKK Sync調べる

T/O

テーブルのマッピングを確認するコマンド

eskk#table#define_macro()を呼び出すと:Mapってのを定義するんですが、
まぁmapと同じような感じで確認できたらいいなーと。

複数回補完を出した場合は全て候補に含めればいいんじゃないか

モードを呼んでいって補完関数を登録していき、モードの呼び出しが終わったら補完関数をそれぞれ呼び出す。
タイミングをずらすのは非同期を視野に入れてのこと。

と思ったけどタイミングをずらすかその場で呼び出すかは補完関数を登録する関数が決めればいいか。


s:buftableと同じく補完用APIもeskk.vimインスタンスを置いておく。
モードの引数にも含める。


...というよりモードの引数は今日変えて1つの辞書型にまとめました。
というのも、今後変えるかもしれなくて、変えた場合1個1個のモードの引数を修正するのがめんどくさいからです。
いやでも修正に強いプログラムというのも大事な要素だと思う。


モードとフィルタの違いが曖昧なのでモードとモード用関数に統一すべき

すいません。
フィルタというのは「モードで定義してある関数」というだけのものです。
いろいろ仕様変更したけどもう多分この定義で間違いないと思うのでコメントを修正すべきですね。
抽象化はAPIだけで十分です。

wikiに書くこと

  • バッファテーブルの説明
    • 導入した利点は、モードや漢字変換のAPIに変更なく渡せることと、デバッグが容易になること。
  • マッピングの説明
    • Vimと似たようなモードローカルなマッピングというのがあって、と同じく存在する場合はそっちが優先される。

他にあればコメントでお願いします。
連投したので見てるか分かりませんが。

*1:http://openlab.ring.gr.jp/skk/born-ja.html あと「氏」と呼ばずすみません。できるだけ「さん」で統一したいので。