- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/30(土) 06:09:42 ID:sKi4Yz2L0]
- 引き続きサクラエディタについて語りましょう
>>2-5あたりに過去ログのリンクなど - サクラエディタ一次配布サイト - members.at.infoseek.co.jp/sakura_editor/ SoruceForgeページ sakura-editor.sourceforge.net/ sakura editor利用に必要なファイル www.geocities.jp/maru3128/sakura.html サクラの小枝研 www.geocities.jp/moca_skr/ SakuraEditorWiki sakura.qp.land.to/ bregexp.dll互換DLL bregonig.dll ※試作版なので使用には注意 homepage3.nifty.com/k-takata/mysoft/bregonig.html
- 666 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 06:50:19 ID:8AwbIy6n0]
- 低スキル開発者に出来ない要望を書くとすぐに全否定が来るから笑えるな
- 667 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 08:05:50 ID:wIAPGy3T0]
- スルーすればいいよね。
- 668 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/09(金) 10:00:25 ID:lZWz3u560]
- >>660 も >>666 もイケテナイような
- 669 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 08:07:38 ID:89KPZ+Ne0]
- >>660 賛成 「661>> スクロールバーの掴む所、太さを自由に変えたい」
水平スクロールバーを自動で消して欲しいって。 そんなチラチラしてどうするんだ?
- 670 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 08:27:43 ID:G6xwEJyl0]
- これは見事な自演ですね
- 671 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 09:29:32 ID:ae+23pAh0]
- 実際のところ実装が難しいのかね?
スクロール必要無いときは無効になるエディタって実際結構一般的だと思うし、そういうエディタが>>658がいうみたいに全行スキャンしてるとは思えないんだけども。どうなんだろう。 最初に全行スキャンして最長行の長さ保持しといて、あとは編集された行だけスキャンとか、そんな感じなんだろうか。 >>669 表示/非表示状態ってそんなに行ったり来たりするか?
- 672 名前:669 mailto:sage [2007/11/10(土) 09:57:27 ID:89KPZ+Ne0]
- なるほど、画面の中から最大桁を探すなら、行ったり来たりするけど、
ファイルの中から最大桁を探して、自動で桁数を設定して?それってどのタイミングでやるの? サクラエディタのマクロで桁数自動設定できなかったら無理。実際1000 桁とかにしておいたら?
- 673 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 10:16:10 ID:Fwau/F3O0]
- 実装が難しいかどうかは知らんが
最長行の長さ保持 →編集中の行がそれを超えたら最長 →最長行が編集されて短くなったら・・・全行サーチ でかくないファイルなら・・・
- 674 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 11:52:09 ID:pSb3cgJs0]
- 最大桁数を常時監視しておけば。
比較的下のレイヤーにある行バッファを管理している部分にくっついてる 書き込み関数にその機能を丁寧に備えてあげれば、 楽になるかもしれないよーな。といっても他力本願(しゅん)
- 675 名前:674 mailto:sage [2007/11/10(土) 12:05:45 ID:pSb3cgJs0]
- うわ既出だったごめん。
なのでも少し詳しく。 各行の桁数値と行へのポインタとの対をリストに保管して、 桁数値を基準にソートしておけばいーよーな。 ヒープアルゴリズムを使うと楽かもしれない。 でもやっぱり、他力本願。
- 676 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 19:07:25 ID:2a7tz7Mw0]
- 画面に表示している行を全てスキャンして、文字数を行の変数に記録、スクロールバーはその中で最長の行に合わせる
↓ ・縦スクロールで新たな行が表示されたら、それらの行もスキャン。スクロールバーより長い行があったらスクロールバーをそれに合わせる ・行を編集する度に、その行に対応した変数の値を更新する。スクロールバーの長さを上回ったらスクロールバーをそれに合わせる ・一度延びたスクロールバーを戻すには、「スクロールバーを画面内の最長行に合わせる(仮)」コマンドを実行する。 別に、厳密に最長行に合わせる必要は無いのだから、こんな仕様でいいと思った。
- 677 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 19:57:53 ID:Fwau/F3O0]
- >>676
画面に表示している行なら計算量も少ないだろうが、 きっと、違うじゃんと文句言い出す奴が出てくるな
- 678 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 20:51:02 ID:30EEf9ZL0]
- >>676
違うじゃん
- 679 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 23:28:06 ID:2a7tz7Mw0]
- >>677
ファイルを開いた時点で全行スキャンするオプションを付ければ良くない? 短くする時は「現在の最長行に合わせる(仮)」コマンドを実行してもらうとして。 10240文字固定で文句を言わない人間がこの仕様で文句を言うとは思えない。 リアルタイムで最長行に合わせても重くならないアルゴリズムは作る人が大変だろうし。 ちなみに、リアルタイムで合わせても重くならないアルゴリズムとしては ・スクロールバーは10文字単位で伸縮する(1文字単位で伸縮させたい時は、以下の文に含まれる"/10"を全て無視する) ・スクロールバーの最大幅は事前に指定する。これを超えた文字数の行は、最大幅と同じ文字数の行として扱う。 ・まず、int型で要素数が(最大幅/10+1)の配列gyosuを用意。 ・行をスキャンして、gyosu[その行の文字数/10]の値を+1。これを全ての行に対して行う。最長行の長さもこのときに求める。 ・行が編集される度に、gyosu[編集前の文字数/10]の値を-1し、gyosu[編集後の文字数/10]の値を+1する。 ・gyosu[最長行の長さ/10]が0になったら、gyosuを調べて最長行の長さを更新する。 ・gyosu[(最長行の長さ/10)より大きい値]が1になったら、最長行の長さを更新する。 ・最長行の長さが更新されたら、スクロールバーをそれに合わせる。 このやり方なら、何百万行のファイルだろうと重くならない。(最初のスキャンを除く)
- 680 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/10(土) 23:31:39 ID:6SXinnUF0]
- そんな難しく考えなくても結構かんたんに実装できるお。
- 681 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/11(日) 00:27:50 ID:AvM+as9B0]
- >>679
乙 >>680 kwsk
- 682 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/11(日) 02:14:50 ID:IV+UtbM70]
- >>681
ああ、そういう考え方はあるな。 確かに単なる繋ぎとしてなら、かなり使えるかも。
- 683 名前:682 mailto:sage [2007/11/11(日) 02:15:49 ID:IV+UtbM70]
- すまん、誤爆>>505
- 684 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/11(日) 03:25:24 ID:NTEr6wED0]
- >505はEdMaxスレかよ!
- 685 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/11(日) 09:28:29 ID:tup5XgGx0]
- >>679
gyosu[編集前の文字数/10] を gyosu[(編集前の桁数+(16-1))/16] などとして桁数に対する端数切り上げ計算にすれば さらにいかしたものになりそう。
- 686 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 12:26:46 ID:PWSFvCF60]
- hogeを含む行のうち^\s*'で始まらないもの
をgrepするのにvimでは \(^\s*'.*\)\@<!hoge でできるようなんですが、サクラで (?<!^\s*'.*)hoge とするとダメでした。 これをgrepするにはどうすればいいでしょうか?
- 687 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 23:08:41 ID:48/EQ2ah0]
- vim使いなのに・・・
- 688 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 09:09:58 ID:B5NZYa+30]
- grep するときは grep 用の正規表現を使わなくちゃで、編集画面検索用の正規表現とは違うんじゃない?
- 689 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 09:22:52 ID:B5NZYa+30]
- すまん。grepはエディタに組み込まれてた。
grep.exe が別にあって、それを呼び出してると思ってたorz
- 690 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 12:20:31 ID:5Ccbg5q10]
- >>686
試してないから動く保証はないけど 置換s/^\s*'/'/gに通した一時ファイルに 正規表現/^[^'].*?hoge.*/でgrepコマンド実行するとか
- 691 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 13:50:56 ID:KX6VL0rK0]
- 置換⇒grepは鉄板
鉄板女優といえばホ
- 692 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 21:47:44 ID:jE6KKDny0]
- >>526と同じ症状なんですが、本当に消せない?
困ったなぁ・・・。
- 693 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 21:53:46 ID:xgu4LjI+0]
- >>692
レジストリエディタなり各種右クリック編集ツールや関連付けツールなどお好みのものをどうぞ。
- 694 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 21:56:33 ID:jE6KKDny0]
- レジストリはちょっとやってみてわかんなかったけど
右クリック編集ツールなんてあるのか!どうもありがとう。助かりました。
- 695 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 22:24:09 ID:e7bXEHSF0]
- SendToに入ってるだけじゃないの?しらんけど
- 696 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 23:01:10 ID:7nODOHkh0]
- >>695
SendToって送るメニューじゃないの?
- 697 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 00:37:11 ID:T3DDdljc0]
- 全米のSendToが泣いた
|

|