■掲示板に戻る■ 全部 1- 101- 201- 301- 最新50 [PR]ぜろちゃんねるプラス[PR]  

perlで立ててみる

1 :test:2003/01/11 16:21 ID:???
どきどき
■このレスへのトラックバック
[ringtone ] http://ringtone-1316218.blogspot.com
[free ringtone ] http://free-ringtone-1185819.blogspot.com
[ringtone ] http://ringtone-1988162.blogspot.com
[free ringtone ] http://free-ringtone-1838278.blogspot.com
[ringtones ] http://ringtones-1676935.blogspot.com
[free verizon ringtones ] http://free-verizon-ringtones-1998586.blogspot.com
[free verizon ringtones ] http://free-verizon-ringtones-1998586.blogspot.com
[free ringtone ] http://free-ringtone-1827260.blogspot.com
[free sprint ringtone ] http://free-sprint-ringtone-1140398.blogspot.com
[free ringtones ] http://free-ringtones-1053792.blogspot.com
[ringtones ] http://ringtones-1658391.blogspot.com
[ringtone ] http://ringtone-1681183.blogspot.com
[free ringtone ] http://free-ringtone-1533032.blogspot.com
[ringtones ] http://ringtones-1233527.blogspot.com
[ringtones ] http://ringtones-1893911.blogspot.com

114 :1:2003/02/10 09:22 ID:???
で、kaoriya版のをお持ちと仮定してなんですが、$HOME/vimfiles ディレクトリ
を作成されましたね。それと別の所にkaoriya版Vimを解凍したディレクトリがあ
るでしょうか? その方が望ましいんですが。仮にこれが C:\gvim というディ
レクトリ名になっているとします。その中に含まれるランタイム・ファイルが有
効になるには、以下の環境変数を設定する必要があります。

set VIM=C:/gvim
set VIMRUNTIME=%VIM%/runtime

これらは標準の配布ファイルをそのまま置いておくべき所で、通常手を加えない
でおきます。ユーザー個人が作ったり追加するファイルは $HOME/vimfiles 以下
に置いて管理します。ディレクトリ構造は標準のものをそのまま踏襲します。例
外は、当スクリプトのように比較的規模の大きいもの。独自ディレクトリを作っ
て runtimepath オプションに追加という形を取ります。

115 :1:2003/02/10 09:30 ID:???
Tip: リンクにカーソルが合うと表示されるプレビューについて。標準だと結構
待ち時間が長いかもしれません。これをコントロールするには updatetime とい
うオプションを使います。:set ut=1000 <-これで待ち時間が1秒になります。

116 :名無しさん@Vim@管理人 ★:2003/02/10 23:31 ID:???
Vimの質問だと思いますが、色テーマや各ウインドウ位置・サイズを保存→復元することって出来ないんでつか?
(毎回起動ごとに変えてるんですけど)

117 :1:2003/02/10 23:47 ID:???
おお、そのHNは(w

色についてはホームの_vimrcファイルに

colors schemename

と記述しておくと起動時にその色になります。

>116
> 各ウインドウ位置・サイズを保存→復元することって出来ないんでつか?

これは、Vim自体についてでしょうか、それともVim内のウィンドウについてで
しょうか?

前者の場合は columns, lines というオプションでサイズをコントロールするこ
とはできます。位置のコントロールについては多分ウィンドウ・マネージャー依
存になってしまう気がします。Vim固有の機能としては存在しないと思います。

ちなみにGUIにかかわるオプションは _gvimrc の方に書きます。

後者であれば、私は使わないんでよくわかりませんが、セッションという機能が
あり、前回終了時の状態をそのまま復元してくれます。
:help :mksession

を参照してみてください。

118 :名無しさん@0ちゃんねる:2003/02/11 12:19 ID:???
最新版は0208のやつでいいんですか?

119 :1:2003/02/11 12:45 ID:???
はい。てかバージョニングしてないですし日付もいい加減です。常にひとつの最
新版しかありません。

120 :1:2003/02/11 13:39 ID:???
メガビで差分取得ができないと思ったら…、sageだとタイムスタンプが更新され
ないんだ。なんてこった

121 :1:2003/02/11 14:09 ID:???
差分GETの時、メガビではIf-Modified-Sinceを付けないようにしました。

あと、コテハンの設定について書き忘れてたので書いておきました。>41

122 :1:2003/02/11 14:39 ID:???
Vim TIP: Vim初心者の方へ、チュートリアルの使い方です。Vimを正しくインス
トールされますと(>>113-114)次のようにしてtutorファイルを開くことができ
ます。

:sp $VIMRUNTIME/tutor/tutor.ja.sjis

次に、

:set buftype=nofile

とすると、ファイル実体との関連が切り離されますので、安心して弄り倒すこと
ができます。

:e

とすると元に戻ります。

123 :1:2003/02/11 17:10 ID:???
Fix: なぜ今まで発現しなかったのかよくわからないんですが、レスのあぼーん
の時にあぼーんファイルがスレの中身と置き換わってしまう&スレのバッファが
消えてしまうという危険なバグがありました。至急差し替えをお願いします。

ttp://www.geocities.com/nanoninee/vim/mseek.zip

124 :名無しさん@0ちゃんねる:2003/02/11 23:40 ID:???
なんか新鮮で(・∀・)イイですね。
DOS時代を思い出しますた。

125 :1:2003/02/12 01:43 ID:???
>124 新鮮なのか懐かしいのか小一時間(ry。まぁUnix由来のものですから
ね、ちょっとしたハカー気分でも楽しんでみてください。

今考えてるのが、dat落ちしたスレの一覧を見る方法が無いかなと。そういう独
立したプラグインは以前作ったんですけど、統合できないかな…。う〜ん。

126 :1:2003/02/12 18:01 ID:???
>125
> dat落ちしたスレの一覧を見る方法が無いかなと。

一応あらましはできました。スレ一覧画面で C を押すとその板の既得ログ一覧
が表示されます。キャッシュリストの C です。全てのマップはユーザー側で変
更できるんですが、その方法はまた今度。

127 :1:2003/02/12 18:14 ID:???
>126
> あらまし

削除とかの機能はまだです。し、いろいろ不具合があるかも。

subjectファイルの管理についてはちょっと実装方法を思いつかないですね。
Unixだと、例えば月1ぐらいでcronでfindを走らせて消去、みたいな方法も考え
られますが…。

単にまとめて掃除したいという場合は、Vimでこんな風にすることもできます。

:new
:cd $HOME/vimfiles/chalice/cache
:put =glob('subject*')
:%call delete(getline('.'))

これで全てのsubjectファイルが消去されます。

128 :名無しさん@0ちゃんねる:2003/02/12 23:30 ID:???
出来れば既得datはオフラインでも見れるようにしてホスィ。
(現在の仕様上はオフラインで起動自体もムリでつかね?)

129 :1:2003/02/12 23:41 ID:???
オフラインモードに入るには <C-X> とタイプしてください。起動時にオフライ
ン状態にするには次の変数を使います。

let msv_startupflags = 'offline'

いちおうウェブの方にも書いてあったかと思います。

130 :1:2003/02/13 10:05 ID:???
SETTING.TXTをローカルに保存するようにしました(これまでは起動後、初回書
き込み時にdlしていた)。今んとこ匿名書きとfusianasan、あと名前欄強制の
チェックにしか使ってませんが。

それと、スレごとに名前、メール欄を設定できるようにしました。スレバッファ
にて

:let b:username = 'nantoka'
:let b:usermail = 'kantoka'

としてみてください。メル欄は名前付きで書く時のみ有効です。

131 :1:2003/02/13 13:52 ID:???
Fix:「紫判定」の機能がちょっとおかしかったので修正しました。これはちょっ
とトリッキーな機能で、自動プレビュー機能と絡めて実装してあります。URLを
踏むと履歴ファイルにそれが追加されるんですが、そのままだとその次の瞬間に
はプレビューの自動コマンドが機能して「踏んだことある」と表示してしまうん
ですね。今踏んだところなのに。既に踏んだことがあったのか今踏んだのか区別
がつかないわけです。その辺をうまく処理する部分の修正です。

132 :1:2003/02/13 14:13 ID:???
>117補足。
Vim本体のウィンドウサイズの設定について、Win版ではこういう方法もあります。

Winアプリでは、Alt-Spaceキーでウィンドウのリサイズ等のメニューが出ます
が、それをVim側でシミュレートすることができます。例えば

:simalt ~x

とタイプするとウィンドウが最大化します。~ はスペースを表します。Altを押
しながらスペースを押して x、というキー操作を行う、という意味です。

これを利用してGVimの起動時にウィンドウを最大化することができます。次のよ
うな行を _gvimrc に記述しておきます。

au! GUIEnter * simalt ~x

133 :1:2003/02/13 16:28 ID:???
スクリプトのファイル名、グローバル変数のプリフィックス等を変更しちゃうか
もしれません。やっとふさわしい名前を思いついて、最新版で表示タイトルだけ
既に変更しました。もともとChaliceと併用するつもりで、開発初期はfire7氏
(Hilight Multiを配布してる人)の個人サイトの読み書き専用であったため、
それらしい名前を付けたわけです。で、同サイトで公開する前にまた適当な名前
に変えたのです(ディレクトリ名とファイル名が違うのはそのため)。

意味は、詳しくは言えませんが、まぁ全てのことを確信犯的にやってますよと、
いうようなことです。

変更にあたっての注意点はまたその時に書きたいと思います。

134 :1:2003/02/14 11:33 ID:???
変更しますた。
ttp://www.geocities.com/nanoninee/vim/malice.htm

移行の方法を説明します。

1. mseek ディレクトリ内の ftplugin、plugin、syntax ディレクトリを削除
2. mseek ディレクトリの名前を malice に変更
3. パッケージを解凍し、中身を全部そこへコピー

cacheディレクトリを消さないように注意してください。もし例によって存在し
なかった場合、手動で作成しておいてください。

_vimrc の設定内容も(もしあれば)変更する必要があります。

%s/\<msv/malice/g

としてください。

135 :1:2003/02/14 11:37 ID:???
>134
> %s/\<msv/malice/g

頭のコロンを忘れました。

136 :1:2003/02/14 17:50 ID:???
Fix:
*「悪い」Apacheのサーバーで、差分取得でない時もLast-Modified、Etagが使
われてなかった問題
* スレの初回オープン時にetagが保存されていなかった問題
* 12chで、1行目の最後がヌル文字だった時にエラーとなっていた問題

などの修正を行いました。

137 :1:2003/02/14 23:26 ID:???
ローカルで、バージョン1.68以前のメガビ掲示板も読めるようにしました。以前
実装したcgi読みの方式と、今のデータ直読みとの使い分けの仕組みを作るのが
結構やっかいで、まだテスト中です。

>55
> なんかいちごって、バグが放置されたまま開発が終わってる感じがしました。
> cgiも手に入らなかったし。

遅自己レスですが、手に入りました。まだ鯖が復旧しない状況ではありますが、
読んでみたいと思います。

138 :1:2003/02/15 21:13 ID:???
2chTypeBBS(Ahhan、メガビ等の元になったもの)に対応してみました。これに
伴って、いちごをほぼ同様の扱いとしてみたんですが、復旧しないので、機能す
るかどうかはどうにもわからないです。

139 :1:2003/02/15 23:16 ID:???
AhhanとAround掲示板については、特に登録作業をしなくてもスレ開けるように
してみました(でもできるだけ登録推奨)。

140 :1:2003/02/16 02:14 ID:???
Ahhanのスレ整形がうまくいってなかったことに気づいたので修正しました。
難しすぎるねんあっはんも〜(怒

141 :1:2003/02/16 11:49 ID:???
Fix: jbbs@したらばで、スレHTMLのdatへの整形がうまくいかない場合があるの
を修正。ためしにローカルにdatがあれば見てほしいんですが、2ちゃんのdat形
式になってない方が多いんではないかと。

@したらばではeucが使われてますので、Win環境だとそのまま見ることはできな
いわけです。Vimでは、Vim自体は文字コードの変換は基本的に行わず、iconvラ
イブラリを呼び出して変換させています。これにはfileencodingsというオプ
ションが用いられます。そのオプションに設定されている文字コードのリスト
を、最初から順にトライしていき、失敗すれば次、また次と、変換できるまで繰
り返します。

設定値を見るには

:echo &fencs

とします。私の場合は

ucs-bom,iso-2022-jp-3,utf-8,ucs-2le,ucs-2,euc-jisx0213,euc-jp

となっています。設定の仕方は

:set fencs=ucs-bom,iso-2022-jp-3

といった感じでコンマ区切りで行います。

これをちゃんとやっていても失敗する場合があるのです。例えば ` といった、
eucにない文字が含まれている場合です。こういう場合の対処はちょっと難しい
ので今回は説明を見送ります。

142 :1:2003/02/16 11:58 ID:???
現在開いているスレ、スレ一覧のキャッシュファイルを簡単に開く方法がありま
す。それぞれのバッファには b:cachename という名前でファイルのパスが保持
されています。これを使って、次のようにタイプします。

:sp <C-R>=b:cachename<CR><CR>

やってみてください。

143 :1:2003/02/16 16:50 ID:???
ローカルルールの表示ってどうやればいいんだろう?

144 :1:2003/02/16 18:23 ID:???
Tip: 他の2ちゃんブラウザと異なり、スレウィンドウを複数開いてタブで表示切
り替え、ということが仕様上非常に困難で、おそらく実装できないと思います。
そこで、次のような "Vim way of doing things" を覚えていただくと便利にな
るんではないかという提案です。

各スレ、スレ一覧は固有のバッファとして管理されており、通常のファイル編集
時と同様に <C-O>, <C-I> といったVim本来の移動コマンドで履歴を行き来する
ことができます。

:ju

とタイプすることでジャンプ履歴とともに、現在の履歴位置を確認することがで
きます。 また、buffer コマンドにより表示を切り替えることもできます。

:ls とタイプすると各バッファの番号と名前が表示されます。目的のバッファが
見つかれば(ここでは 1 とします)

:1b または :b1

とすることで表示できます。別ウィンドウで開くには

:sb1

とします。

スレの場合に関しては、通常は画面左下の履歴画面(<C-H> で移動)から選択す
ることをお勧めします。

145 :1:2003/02/16 21:03 ID:???
>143
センタリングなんかどうでもいいのにやってしまった。まだローカルで実験中で
す。
ttp://www.geocities.com/nanoninee/img/localrule.png

146 :1:2003/02/16 22:38 ID:???
いちおう、アップしときました。ローカルルールが見れるのは今のところ、2
ちゃん、その互換板、したらば、jbbs@したらばです。板を開いた時だけしか表
示しません。

147 :1:2003/02/16 23:29 ID:???
まちBBSでも見れますね。カウンターの部分はダメですけどね。

148 :名無しさん@0ちゃんねる:2003/02/16 23:32 ID:???
>>145
お、すごい。なんか表示されてますね。
(HTML通り表示ってのはさすがにきついかな)

149 :1:2003/02/16 23:45 ID:???
>148 あれ、ieで見たら下の方の文章はセンタリングされてない? おかしい
な。

ちなみにレイアウトに関しては<center>タグしか見てないんですよね。太字とか
もできなくはないかもしれないんですけど…。

150 :1:2003/02/16 23:50 ID:???
2つ以上の改行は圧縮するようにしてみました
ttp://www.geocities.com/nanoninee/img/localrule2.png

151 :1:2003/02/17 00:30 ID:???
スレのタイトルをVimのタイトルバーに設定することってできるんだろうか?
ちょっと考え込んでみよう…。

152 :1:2003/02/17 00:31 ID:???
と言っといていきなりだけど、イベントを使えばできそう。

153 :1:2003/02/17 01:13 ID:???
あそっか、イベントを使うとちらつきが気になるからやりたくなかったんだ。
う〜ん、どうしよっかな。

154 :1:2003/02/17 11:08 ID:???
>153 やっちゃいました。

ずっと気になってるのが、ngwordで、複数行とか、正規表現で指定する方法が自
分でもわかってないんですよね。今んとこ完全リテラルなマッチングしかできな
くて。ちょっと実験してみます。どこかで。

155 :1:2003/02/17 11:42 ID:???
おおよそ理解できました。

通常、ngwordの設定は1行ごと、整形表示後の文字列に対して設定します。例え
ば、見たくないコテハンをあぼーん対象にしたければ、

From:山崎渉

みたいな感じで書くわけです。ただこれだと、残念なことに(w 私自身がこの
レスを見れないことになってしまうわけです。そこで、より厳密を期すために正
規表現でのマッチングもできるようにしました。ちょっとややこしいかもしれま
せんが説明します。

上でも言ったように、通常はそのままの文字列にマッチするよう、正規表現をオ
フにしてあります。これは、Very nomagicというオプションを使うことで実現し
ています。これを解除する、つまり通常の正規表現を使えるようにするには、次
のようにmagicオプション(\m)を文字列の前に置きます。

\m^\d\+ From:山崎渉\V

順に、マジック(\m)、行頭(^)、1つ以上の数字の連続(\d\+)、半角スペー
ス2つ、あとはマッチしたい名前、という具合です。最後に、それ以降の行が正
規表現として扱われないよう、\V で正規表現をオフにしておきます。

156 :1:2003/02/18 00:26 ID:???
あめぞう系は無理だろうと思ってたんですが、着手してみました。三河版系のみ
です。「横レス」のカコイイ表示を思いつかないのと、あと書き込みがかなり難しそ
うな感じです。
ttp://www.geocities.com/nanoninee/img/amezo_test1.png

157 :名無しさん@0ちゃんねる:2003/02/18 00:27 ID:???
>>150
そこの(ローカルルール)ウインドウだけ、背景をメロン色にするとかは出来ないですか?
あとHTMLのフォントカラーだけを見て文字のカラーを設定するとか。

あんまりVim知らないので、無茶ばっかり逝ってたらすみません。

158 : :2003/02/18 00:29 ID:???
>>158
おー!がんばりますねw
ところで1さんはコテハンつけないんでつか?

159 :1:2003/02/18 00:32 ID:???
>157 色ですか…。なるほど。考えてみます。考えるだけに終わるかもしれませ
んが(w

>158 多分つけないと思います…。多分。

160 :1:2003/02/19 00:57 ID:???
一部、Jbbsのスレのdatへの変換がうまくいってなかったようです。>141でFixと
言っておきながら申し訳ないです。まぁいつものことなんですが。

161 :1:2003/02/19 15:10 ID:???
Bug: ちょっと稀なケースとして、閲覧したことのあるスレで、そのスレバッ
ファがロードされている間に、削除人さんによってあぼーんが行われたとき、更
新チェックを行うと少し変なことになります。あぼーんが行われた後の
ETag、Last-Modifiedの値がスレバッファに設定されてしまって差分取得ができ
ないという現象が起きます。マスオさんありがとう。

162 :1:2003/02/19 15:17 ID:???
>161 おそらく修正できたのではないかと思います。

163 :1:2003/02/19 15:54 ID:???
Fix: うっかりテストを忘れてたんですが、しいく以外のHilight Multiの板でも
書き込みできるようにしました。

164 :1:2003/02/19 22:12 ID:???
あれ、透明あぼーんができなくなってる…

165 :1:2003/02/19 22:27 ID:???
ついでなんで、連続あぼーんもできるようにします。

166 :1:2003/02/19 23:03 ID:???
しました。じつは連続あぼ−んはずっとやりたいと思ってたので良かったです。

やり方は、v もしくは V キーでビジュアル選択モードに入り、j とか k とか
<C-F> とか適当な移動コマンドであぼ−んしたい領域を選ぶ。領域を逆方向に広
げる(狭める)には o キーを押してみてください。逆サイドにカーソルが移り
ます。で、その状態で x または d を押すとノーマルあぼ−ん(ただの折り畳
み)、透明あぼ−んにそれぞれなります。

対応してるのはレスのあぼーんだけです。スレの方は未定。

167 :1:2003/02/19 23:05 ID:???
少しでもビジュアル領域がレスに被っていればあぼーん対象となります。レスと
みなされるのは、例えばこのレスだと 167 の上のハイフンの行がありますね。
ここからが167レス目となります。

168 :1:2003/02/20 01:30 ID:???
Fix: メガビでスレ一覧の取得ができない場合があったのを修正。最初に
板_newb.txt が取得可能かどうかをheadリクエストでチェックするんですが、そ
の時のLast-Modifiedの値とかが残っちゃっててまずいことになってました。

169 :1:2003/02/20 17:40 ID:???
milkcafeが読み書きできるようになったと思います。ここはスクリプトがjbbs
だったりしたらばだったりメガビだったりややこしい。

170 :1:2003/02/20 18:31 ID:???
なんか最近ビルドしたGvimだとクリップボードにコピーできないっぽいのでダウ
ンロードしないでください(6.1.340)。
# 逆はオッケーなんだけどなぁ…。

171 :1:2003/02/20 19:24 ID:???
Vim Tip: グローバル・コマンド(g, v)の使い方。スレ内で、任意の文字列(例
えば .jpg)を含む行のみを抽出したい時、このようにします。

:v/\.jpg/d _

説明::v はパターンにマッチしない行に対してコマンドを実行せよ、という意
味のグローバルコマンドです。スラッシュの間がパターンです。d は行の削除を
するコマンド。_ は、ブラックホール・レジスタと言いまして、んーと、ちょっ
と割愛します。

元に戻すには、:undo か、R で再読み込みするとよいでしょう。応用として、パ
ターンを含む行のリストを作りたい場合、このようにします。

:let @a = ''
:g/\.jpg/y A
:new|put a

説明:まずレジスタ a を空にする。パターンを含む行を y コマンドでヤンク
(コピー)し、a レジスタに追加(大文字で書くと追加、小文字だと上書き)。
新しいバッファを開き、レジスタ a の内容を吐き出す。

172 :1:2003/02/20 20:47 ID:???
スレ一覧の整形があまりにも遅いので(当方Pentium150MHz)原因を探ってた
ら、perlの -e とか stat の処理がかなり重いということがわかりました。dat
がローカルにあるかどうかを調べる箇所を、Vimの組み込み関数に置き換えたら
ちょっと速くなりました。よかったよかった。

173 :1:2003/02/20 22:26 ID:???
検索機能を付けてみたいです。かなり。

174 : @管理人 ★:2003/02/20 23:58 ID:???
>>172
>当方Pentium150MHz
ツワモノですねw。

ちょっと質問があるのですが、外部からの不正cgi(bbs.cgi)呼び出しを防ぐ手段として
リファラが、

・{BBSRoot}にマッチ
・Monazillaにマッチ

以外は防ごうと思ってるんですが、こちらのやつはリファラを送ることとかってできますか?
出来ないようでしたら、リファラでのガードは考え直そうと思ってます。
(2ちゃんぶらうざってMonazilla〜のリファラを送ってくるってことでいいんでしたっけ?)


175 :1:2003/02/21 00:49 ID:???
>>174
> >>172
> >当方Pentium150MHz
> ツワモノですねw。
恐れ入ります(w

> ちょっと質問があるのですが、外部からの不正cgi(bbs.cgi)呼び出しを防ぐ手段として
> リファラが、
>
> ・{BBSRoot}にマッチ
> ・Monazillaにマッチ
>
> 以外は防ごうと

どうも、お気遣いありがとうです。リファラというか、User-Agent と Referer
両方指しておられるようですね。書き込み規制のお話ですか。

もともと2ちゃんで読み書きするのに必要なことですのでそのふたつは既に
Chaliceの時からリクエスト・ヘッダに付けるようになってます。

こんな感じです。

POST http://tolkien.s7.xrea.com/test/bbs.cgi
Referer: http://tolkien.s7.xrea.com/jikken/index.html
User-Agent: Monazilla/1.00 Malice/1.0
Content-Type: application/x-www-form-urlencoded
[...]

ですので、仰るような規制に対してはまったく問題ないと思います。

176 :1:2003/02/21 02:10 ID:???
う〜ん。むずい。同じスレならグループ化するとか、連続したスレなら連続して
表示するとか、できんもんかなぁ…
ttp://www.geocities.com/nanoninee/img/search_test.png

177 :1:2003/02/21 08:26 ID:???
>>116
> 各ウインドウ位置・サイズを保存→復元することって出来ないんでつか?

遅レスですが、このブラウザのウィンドウサイズが設定可能かどうか、という意
味だったとしたら、現時点では無理なんですよね。あとスレ一覧とか板一覧の位
置をオプションで変更可能にすることなんかも、技術的にちょっと無理じゃない
かと思います。

高さに関しては、よく考えたら構造的にスレ一覧と履歴とプレビュー窓ぐらいし
か設定可能でない(他は高さ不定になっている)ので、それぐらいなら新たにオ
プションを作ってしまえばいいことかなと思います。

ちなみに縦3列にするオプションは一応あるんですが(malice_startupflags に
'3cols' を追加)、幅の設定に関してVimは得意ではありませんのでお勧めでき
ませんです。

178 :1:2003/02/21 10:12 ID:???
ということで、以下のオプションで高さ調節ができるようになりました。

malice_winheight_threadlist
malice_winheight_history

適当な数値を let コマンドで設定してください。プレビュー窓の高さはもとも
とVimの previewheight オプションを使ってますので、それで調節してください
(setコマンド)。

179 :1:2003/02/21 10:22 ID:???
確信犯の使い方が間違っていたかもしれないと思う今日この頃。あえて訂正もいたしますまい。

180 :1:2003/02/21 14:23 ID:???
レス忘れ。

>>174
> (2ちゃんぶらうざってMonazilla〜のリファラを送ってくるってことでいい
> んでしたっけ?)

多分そのように考えていいと思います。Monazilla〜を付けないとsubjectをGET
できないサーバーがあったりするらしいので、普通どのブラウザでも付けている
ものだと思います。

181 :1:2003/02/21 17:40 ID:???
検索にはgrepを使うのがいちばんいいと思うんですが、なかなかWin版でEUCも
SJISも扱えるバイナリって手に入らないですよね。自分は持ってないです。そこ
がネックですねぇ。Perlでやるとかなり重くなりそうだし…

182 :1:2003/02/22 01:14 ID:???
結局perlで実装しました。思ったほど遅くもない感じです。これまでのスレ整形
の無駄な部分もわかったのでよかったです。

使い方:s キーを押すと検索パターン(正規表現)と検索対象の入力を促すメッ
セージが出ます。両方とも直接perlに渡します。ので前者はperlの正規表現をあ
る程度知っておいた方がいいかもしれません。ただの単語でももちろんかまいま
せん。検索対象には、一般的なワイルドカード(* と ?)が利用できます。複数
指定するには半角スペースを空けてください(e.g.: dat*unix* dat*php*)。

まだできたてなので不完全な部分が多々あります。現時点ではdatの検索のみと
なっています。

183 :1:2003/02/22 13:01 ID:???
namazuをインストールしてdatの検索をやってるという方おられます? 別に聞
いてどうしようというわけじゃないんですが。emacsの方なら結構使ってそうかな。

184 :1:2003/02/23 01:08 ID:???
Fix: sjis環境で、eucエンコードのスレをHTML化できなかった(vice versa)問題
を修正。あと、同じくHTML化で、パス形式に対応してない場合に正しいアンカー
が表示されなかった問題に対応してみました。

185 : @管理人 ★:2003/02/23 01:13 ID:???
>>175>>180
ありがとんございます。
規制は次バージョンくらいからになりそうですが、参考になりました。

>>183
参考までに私はnamazuインストールしてないです。
(というかdat検索自体ほとんどしないですね。)

186 :1:2003/02/23 14:31 ID:???
HTML化の部分はややこしくてこれまで手を付けてこなかったんですが、ようやく
わかるようになったので集中的にやろうと思います(もともとChaliceに実装し
たのは自分だったりするんですが…なんでだろ〜)。

使い方をドキュメントしてなかった気がするので書いておきます。

& キーでカーソルのあるレスをHTML化し、ブラウザで開きます。もしカーソル行
に >>n-m 形式のリンクがあればそちらを表示します(AA系のスレでよくありま
すよね)。

コマンドラインで行う場合は、

:Malice2HTML 1-10
:Malice2HTML >>1-10
:Malice2HTML 1 10

上のいずれの形式でも同じ結果になります。

187 :1:2003/02/23 17:29 ID:???
Fix: 1レス目がASCII文字オンリーの場合、文字コードの認識ができなかった問
題を修正。

188 :1:2003/02/24 04:28 ID:???
こういうのをデコードする手順を撮影してみました。
http://tolkien.s7.xrea.com/test/read.cgi/jikken/1043331322/241

ttp://www.geocities.com/nanoninee/img/filtering1.png
ttp://www.geocities.com/nanoninee/img/filtering2.png
ttp://www.geocities.com/nanoninee/img/filtering3.png
ttp://www.geocities.com/nanoninee/img/filtering4.png

フィルタリングという機能を使います。バッファの内容を外部プログラムに渡し
て処理させ、その結果を得るというものです。小さなプログラムを組み合わせて
複雑な処理を行うというUnix的な思想ををそのままWin環境でも実現できるのが
素晴らしいところです。

189 :1:2003/02/24 20:10 ID:???
>>1,4,6 みたいなリンクもプレビューできるようになりました。ハイフンとコン
マの併用も多分問題ないと思います。

190 : :2003/02/24 23:29 ID:???
>>188
お。。。なんかすごい。。

191 :1@w3m on cygwin:2003/02/25 14:55 ID:???
textareaの書き込みにはgvimが起動されるのか…。カコイイ


192 :1:2003/02/25 17:46 ID:???
こういうのでもプレビュー表示できるようになりました。ずっと前2ちゃんの
read.cgi開発スレで、こういう指定もできるようにしようという話があったよう
な…
ttp://tolkien.s7.xrea.com/test/read.cgi/jikken/1042269693/1,3-4,7-9

ちなみに結構難しいのでバグがあったりするかも知れません。

193 :1:2003/02/25 17:51 ID:???
ついでに、gvimのクリップボードの問題が直ったみたいなのであげておきまし
た。gvimのバイナリのみです(6.1.358)。

194 :1:2003/02/26 13:18 ID:???
スキンっていうか。まぁ表示をちょっと変えられるだけですが。
ttp://www.geocities.com/nanoninee/img/skin_test.png

195 :1:2003/02/26 13:24 ID:???
ん…、日付とIDって別々の色にできた方がいいんかな?

196 :1:2003/02/26 13:50 ID:???
こういうのは良いかも。ぞぬのスクリーンショットを参考にしてみました。
ttp://www.geocities.com/nanoninee/img/skin_test2.png

やり方はもうちょい頭を整理してから書きます。

197 :1:2003/02/26 14:38 ID:???
まず、Vimのスクリプトがどのように読み込まれるかということから説明します。

スクリプトの読み込みには、runtimepath というオプションが使われます。私の
設定はこのようになってます:
c:/home/.vim,c:/home/src/vim/runtime,c:/home/.vim/malice,c:/home/.vim/after

.vim の所は vimfiles に読み替えてください(Cygwin版のVimと共有したいので
Unixスタイルにしているのです)。これらのコンマで区切られた各ディレクトリ
の下のディレクトリ構造は決まっています。colors, ftplugin, plugin, syntax
などのディレクトリを置き、その中に用途に合ったスクリプトファイルを入れて
おくのです。

Vim起動時には各 plugin/ ディレクトリ内の .vim ファイルが読み込まれます。
ファイルタイプの設定時には各 ftplugin/, syntax/ ディレクトリからそのファ
イルタイプ名.vim、例えばスレッドであれば malice_thread.vim という名前の
ファイルが読み込まれます。

この読み込まれる順序は runtimepath オプションに定義されている順となりま
すので、標準で設定される動作、文法強調などをカスタマイズしたい場合は、最
も最後に読み込まれるランタイム・ディレクトリ内にファイルを置けば良いわけ
です。

198 :1:2003/02/26 15:09 ID:???
上記の点を踏まえて、いわゆるスキンのようなものを作るには、適切な
runtimepath の値を設定した後、以下の2つのファイルを作成してください。

after/plugin/skin.vim
after/syntax/malice_thread.vim

プラグインの方は拡張子が vim であればどんな名前でも良いです。サンプル
コード:

after/plugin/skin.vim:

if !has('perl')
 finish
endif

perl << END_PERL
sub to_text {
 my ($anum, $name, $mail, $date, $comm) = parsedat(@_);
 return $anum ? "--------\r$anum $name [$mail]\r $comm\r\r DATE:$date\r\r" : '';
}
END_PERL

" EOF

199 :1:2003/02/26 15:10 ID:???
after/syntax/malice_thread.vim:

if !has('perl')
 finish
endif

syntax match MaliceThreadArticleHeader transparent "^\d.*"
\ contains=MaliceThreadNumber,MaliceThreadFrom,MaliceThreadMail
syntax match MaliceThreadNumber display "^\d\+" contained containedin=MaliceThreadArticleHeader
syntax match MaliceThreadFrom display "\%(^\d\+ \)\@<=\(.*\)\( \[\)\@="
\ contained containedin=MaliceThreadArticleHeader
syntax match MaliceThreadDate display "^\t\+DATE:.*" "contained containedin=MaliceThreadArticleHeader
syntax match MaliceThreadMail display "\%( \)\@<=\[.*\]$" contained containedin=MaliceThreadArticleHeader

" EOF

試しにやってみてください。syntaxコマンドの詳細についてはよく知りませんの
で説明は後回しにします。これから勉強してみます。

200 :1:2003/02/26 15:30 ID:???
言葉を尽くしていなかった気がするので補足しますと、runtimepath に設定でき
るディレクトリ名は何でもいいんです。が、慣習的に、標準のものの上書き用に
使うディレクトリとして、after という名前のディレクトリをいちばん最後に
もってくることが多い、ということなのです。まぁそのようにして頂くと良いか
なと思います。

201 :1:2003/02/26 15:43 ID:???
>>198
>  return $anum ? "--------\r$anum $name [$mail]\r $comm\r\r DATE:$date\r\r" : '';

どうでもいいけどタブ文字は \t を使えばいいですよね。失礼。

202 :1:2003/02/27 00:33 ID:???
dat検索を実装した頃に、たまたまこういうのを見てしまったわけですよ。うわ
すげーなーと、こんなのが動的に生成できたらカコイイなと、ずっと思ってて、つい
に着手しました。まぁとりあえずインデントは無理だと思いますが。
ttp://zuelfish.s20.xrea.com/cgi-bin/NamazuMusume/data/1367.html

203 : :2003/02/27 23:19 ID:???
>>202
そういえばWebProg板にあったねそういうの。
(「こんなの作ったんですが」スレだっけ?)
見た目は確かにカコイイでつね。

204 :1:2003/02/28 01:22 ID:???
まじっすか? 自分はUnix板のNamazuスレで見たんですが。ひょっとしてソース
公開されてました?

205 :1:2003/02/28 14:18 ID:???
上のNamazuのシステムとはまた別のものみたいですね。しかしかなり高度なもの
ですな。公開してほしいもんだ。rubyだそうですが。

206 :1:2003/02/28 17:15 ID:???
damepo
ttp://www.geocities.com/nanoninee/img/recursivesearch_test.png

207 :1:2003/03/01 02:22 ID:???
ちょっとましになったかな〜。上のようにずらずらずらと無関係なレスが並ぶこ
とはなくなったような…。でもまだまだ理解できない要素が多いっす。てか不適
切なサンプルを選んでしまった気が。
ttp://www.geocities.com/nanoninee/img/recursivesearch_test2.png

208 :1:2003/03/01 02:23 ID:???
よくみたら全然ダメじゃん!

209 :1:2003/03/01 16:10 ID:???
依然syntaxコマンドの勉強はしていないんですが、スキンについて。複数のもの
を使い分ける方法です。とりあえず実例だけお見せします。

210 :1:2003/03/01 16:11 ID:???
after/plugin/skin.vim

if !has('perl')
 finish
endif

let g:malice_skinname = 'hoge'

if g:malice_skinname == 'test'
 function! s:Dat2Text()
  perl << END_PERL
  sub to_text {
  my ($anum, $name, $mail, $date, $comm) = parsedat(@_);
  return $anum ? "--------\r$anum $name [$mail]\r $comm\r\r\t\t\t\tDATE:$date\r\r" : '';
  }
END_PERL
 endfunction
elseif g:malice_skinname == 'hoge'
 function! s:Dat2Text()
  perl << END_PERL
  sub to_text {
  my ($anum, $name, $mail, $date, $comm) = parsedat(@_);
  return $anum ? "--------\r$anum $name $mail\r $comm\r\r\t\t\t\tDATE:$date\r\r" : '';
  }
END_PERL
 endfunction
endif
call s:Dat2Text()

211 :1:2003/03/01 16:11 ID:???
after/syntax/malice_thread.vim

if !(has('perl') && exists('g:malice_skinname'))
 finish
endif

if g:malice_skinname == 'test'
 syntax match MaliceThreadArticleHeader transparent "^\d.*"
\ contains=MaliceThreadNumber,MaliceThreadFrom,MaliceThreadMail,MaliceThreadBrokenArticle
 syntax match MaliceThreadNumber display "^\d\+" contained containedin=MaliceThreadArticleHeader
 syntax match MaliceThreadFrom display "\%(^\d\+ \)\@<=\(.*\)\( \[\)\@="
\ contained containedin=MaliceThreadArticleHeader
 syntax match MaliceThreadDate display "^\t\+DATE:.*"
 syntax match MaliceThreadMail display "\%( \)\@<=\[.*\]$" contained containedin=MaliceThreadArticleHeader
elseif g:malice_skinname == 'hoge'
 syntax match MaliceThreadArticleHeader transparent "^\d.*"
\ contains=MaliceThreadNumber,MaliceThreadFrom,MaliceThreadMail,MaliceThreadBrokenArticle
 syntax match MaliceThreadNumber display "^\d\+" contained containedin=MaliceThreadArticleHeader
 syntax match MaliceThreadFrom display "\%(^\d\+ \)\@<=\(.*\)\( .*$\)\@="
\ contained containedin=MaliceThreadArticleHeader
 syntax match MaliceThreadDate display "^\t\+DATE:.*"
 syntax match MaliceThreadMail display "\%( .* \)\@<=.*$" contained containedin=MaliceThreadArticleHeader
endif

212 :1:2003/03/01 16:16 ID:???
それぞれの出力関数とそれに対応するシンタックス定義のブロックに名前を付け
ておいて、pluginの冒頭部分で名前を切り替えればおっけーという寸法です。

perlのコードをVimスクリプトに組み込むにはちょっと工夫が必要みたいで、上
のようにVimの関数内に入れてやる必要があります。同名のVim関数にしておい
て、どれか1つが定義されるようにするとよいです。

213 :名無しさん@0ちゃんねる:2003/03/01 20:30 ID:???
そのうちソフ板に立てたほうがいいかもね。
ここじゃ使ってくれる人が少なすぎるから・・・

214 :1:2003/03/01 21:23 ID:???
>213
広める意図はありませんのでそういうことはしないです。と言うのは、ライセン
スとか配布条件の問題とかを解決せずダークなまま放置してますんでね。まずい
んですよ。

215 :1:2003/03/02 13:32 ID:???
たまには貼っておきます(自サイトなのにhを抜いてるのはレファラで弾かれないためです)
ttp://www.geocities.com/nanoninee/vim/malice.htm

今回は

* 12chにもhead.txtにあたるものがあることに気づいたので対応
* 板名をSETTING.TXTから得るようにしてみた。ついでにスレタイに板名を付加して表示
* Mini Thread という掲示板 (http://www.flashcgi.net/) に対応

そんな感じでしょうか。dat検索は開発途上です。

216 :1:2003/03/02 17:52 ID:???
>>144の続きのような感じで。

Vimのコマンドラインには補完機能というのがありまして、ファイル名などの一
部を入力すると候補一覧を示してくれます。たとえば、

:buffer tolkien<Tab>

と入力すると、既に開いているバッファから tolkien という文字列を含むもの
の一覧を出してくれます。こんな感じです。

ttp://www.geocities.com/nanoninee/img/cmdline_cmpl.png

スレの場合はわかりにくいですけど、スレ一覧を選ぶには便利かなと。カーソル
キー(左右)で次々と候補を切り替えます。

217 :1:2003/03/02 20:26 ID:???
すいません、URLがpath形式で無い場合、2chのスレであっても12chで無いかどう
かチェックしに行くようになっちゃってます。今日中に修正します。

218 :1:2003/03/03 14:59 ID:???
>214
> 広める意図はありませんので

ていうかもともとモ板系以外に進出する意思は皆無だったんですよね。いまさら
思い出したように言うことでもないですけど…。ちょっとした出来心でスレ立て
テスト(&立て逃げ)するつもりが思いのほか暖かいレスを付けていただいたも
んで…。居座るにいたる(

Changelogがわりに、前スレです
ttp://www.ah.wakwak.com/~yosk/cgi-bin/read.cgi?dir=danger&thp=1035091237&ls=25

219 :1:2003/03/03 16:11 ID:???
スレ内で>>nとか一般のURLにジャンプする機能があると便利な時がありますよ
ね。次のように、スキンの件で登場したカスタマイズのやり方で実現することが
できます。

after/ftplugin/malice_thread:

nnoremap <silent> <buffer> <C-Tab> :call <SID>NextLink('next')<CR>
nnoremap <silent> <buffer> <S-Tab> :call <SID>NextLink('prev')<CR>

function! s:NextLink(flag)
 let linkpat = '\(\<\%(h\?ttps\?://\|www\)\|\(>>\?\|>>\?\)\(\d\+\|[0-9]\+\)\)'
 if 0
  let flag = ''
  if a:flag ==# 'prev'
  let flag = 'b'
  endif
  call search(linkpat, flag.'W')
  call cursor(line('.'), col('.'))
  call winline()
 else
  let cmd = a:flag ==# 'prev' ? 'N' : 'n'
  let @/ = linkpat
  call AL_execute('normal! '.cmd)
  "call AL_del_lastsearch()
 endif
endfunction

220 :1:2003/03/03 16:18 ID:???
>219 if 0 としてあるブロックは、search関数を使って探すんですが、挙動が
少々よくわからないところがあって。なんかカーソル位置がちゃんとマッチした
位置に行かないような気がするのでオフにしてあります。

else以降は n または N というノーマルコマンドで探します。これはVimのジャ
ンプ履歴に動作が残りますので、後で <C-O> や <C-I> で行きつ戻りつできま
す。

<C-Tab> で前方に、 <S-Tab> で後方に検索しますが、これは使いにくければ適
当に変更してください。(<C-Tab>というのは打ちにくいですけども、タブ文字
は実際には <C-I> なので、移動コマンドとバッティングしてしまうので使えな
いんです)

221 :1:2003/03/04 09:31 ID:???
新しくメガビとかの掲示板を見つけたときに、いちいち設定ファイルに書いて再
起動するのが面倒なので、コマンドで登録できるようにしました。

:MaliceRegistHost bbstype host1 [host2]

という書式です。コマンド名は :*Regi<Tab> とすれば補完されるでしょう。
bbstype には megabbs, ahhan, 12ch, hilight, around が有効です。このうち
ahhan, 12ch, hilight, around は(てかメガビ以外全部かよ。今気づいたよ)
スレURLを与えられた場合は自動的にホスト登録、スレオープンしますのであま
り必要は無いかと(登録せずにいきなりスレ一覧の方を開こうとしても無理です
が)。

メガビはcgiのパスとhtmlとかのファイルを置くパスが違う場合があるので、そ
の場合は

htmlpath cgipath

の順で登録してください。一応自動的に探すようにはなってるので必須ではあり
ません。

なおファイルには登録しないので継続的に利用するには regist.brd ファイルに
書いておく必要があります。書式は

[bbstype]
host

です。具体例としてはこんな感じ

[megabbs]
www.d-w-b.com/bbs

222 :1:2003/03/04 09:34 ID:???
>221
> メガビはcgiのパスとhtmlとかのファイルを置くパスが違う場合があるので、そ
> の場合は

それ以外のシステムで、サーバーの都合上やむを得ずcgiを別ディレクトリに置
いてあるようなケースには対応してないです。まぁ必要を感じればやります。と
思います。

223 :1:2003/03/04 10:20 ID:???
範囲指定付きでの利用もできるコマンドをまとめておきます。

v または V でヴィジュアル選択を開始、移動コマンドで選択領域を広げて…

* 書き込みキー (i, I, a, A) で引用付き書き込み
* & でHTML化
* x, d でノーマル、透明あぼーん

224 :1:2003/03/04 11:34 ID:???
メガビも自動認識できるようになったぽいです。あくまでもスレURLを与えた場
合のみです。たとえば、クリップボードにURLをコピーしておいて <C-N> とか、
スレ内にURLが貼ってあった場合はプレビュー処理の過程で。

最近困ってるのが、12chで、2ch互換モードのみで運用してる場合。どうにもこ
うにもという感じで、困難をきわめております。スレ表示じたいはできるんです
が、単純に2ちゃん形式として扱うとまずいんですよねぇ。

225 :1:2003/03/04 13:46 ID:???
いちごフカーツしたみたいですね。やっと実験ができる。

226 :1:2003/03/04 20:15 ID:???
HTML化したほうが見やすい場合があります。AAなどはもちろんですが、こういう
タグを利用したものもそうです。上がVimで下がieでの表示です。コードを確認
してないのでよくわかりませんが、スレ整形時に生のスペースは消してしまうよ
うなんで、こういうことになります。何か対策が必要かも。
ttp://www.geocities.com/nanoninee/img/compar_indent1.png
ttp://www.geocities.com/nanoninee/img/compar_indent2.png

ちなみに上のはhimajinさんの板一覧にも載ってないんだけど、2ちゃん互換なの
で板名がわかる上に、ローカルルールも表示してくれるんですね。自分でやっと
いて言うのもなんですが、ちょっと驚きました

227 :1:2003/03/04 23:20 ID:???
対応しますた>いちご
思ったとおり、ほぼA-round掲示板と同様な感じです。どうでもいいことです
が、したらば鯖でs-jijsの掲示板は初めて見たかも。たぶん。

書き込みもできます。スレ立てもできるんじゃないでしょうか。前に立てたこと
ある気がするので。

板一覧も、URLは覚えてませんが、トップを表示した時に左のフレームに表示さ
れるやつです、整形表示できると思います。

228 :1:2003/03/04 23:32 ID:???
板一覧は、malice_menu_url オプションを使います。普段はhimajinさんの「か
ちゅ〜しゃオンライン更新用」とか、2ちゃんの板メニュー形式のURLを登録して
おいて、いちごなどは一時的にコマンドラインで登録、R でリロード、
malice/cache/bbsmenu ファイルの内容を malice/other.brd にコピペ、という
方法を取るのが、少々面倒ですが、よいんではないかと思います。

229 :1:2003/03/05 15:19 ID:???
折角なんで、スレだけでなく板を開いた時もBBSタイプを自動認識できるように
したいです。スレと違ってURLの形式からは割り出せないので難しいでしょうけ
ど。

230 :1:2003/03/05 17:42 ID:???
Improvement: 板オープン時に、12ch、2ch互換、メガビ、Ahhan、Aroundのいず
れであるかを判断するようにしてみました。

231 :1:2003/03/05 20:04 ID:???
>>226
> スレ整形時に生のスペースは消してしまうようなんで、こういうことになりま
> す。何か対策が必要かも。

でけたようです。生のスペースどころか改行の前後の空白文字をごっそり消して
いたのが原因でした。
ttp://www.geocities.com/nanoninee/img/indented.png

232 :1:2003/03/06 00:27 ID:???
Fix: キャッシュリスト作成時(スレ一覧で C)に、既得のdatがゼロだと永久
ループになってしまうバグを修正

233 :名無しさん@Vim:2003/03/06 15:05 ID:???
すいません、メガビで書けなくなってるようです

234 :!:2003/03/06 19:00 ID:???
どうやら1つ機能修正すると1つエンバグするのが仕様になっているようです…

235 :1:2003/03/06 19:01 ID:???
あ、なんかシフトキーを押してしまったみたいです…

236 : :2003/03/06 23:37 ID:???
>>234
ワラタ

237 :1:2003/03/07 20:35 ID:???
>>ttp://ichigo.shitaraba.com/cgi/readres.cgi?bo=hihan&vi=0427&rr=12&fi=no
はっ、なんでわかったんだろう…。と、こっちで答えてみたりして。

238 :1:2003/03/08 00:27 ID:???
いちおう、スレごとのHNが設定できるようになってます。スレ一覧バッファで、

:let b:username = 'nantoka'

としてください。相変わらず設定ファイルには保存しませんのでその場限りの機
能となります…。そのうち何とか考えたいです。_malicerc みたいなファイルで
外部板登録なんかも含めて設定できるようになりたいです。

あと、実用上はあまり困らないんですが、スレURLの出力に関して。2ちゃん互換
板の場合はすべてpath形式で出しちゃうんですよね。これだとうなぎスクリプト
とか、未対応の掲示板ではちょっと問題ありますよね。どうしようかな〜。

239 :1:2003/03/08 00:27 ID:???
>238
> いちおう、スレごとのHNが設定できるようになってます
板ごと、です。スマソ

240 :1:2003/03/08 10:51 ID:???
いちごの板一覧整形がおかしくなってます。あんまりこういう、恣意的に形式を
変えられるようなものには対応しない方がいいかな?

241 :1:2003/03/08 22:46 ID:???
対応しますた>240。

しかし、いちごのスレ一覧表示はちと遅いですね。ロビーとか、ほんと勘弁して
くださいって感じです。

242 :1:2003/03/09 15:57 ID:???
12chのread.cgi読みに対応してみました。これで(常識的なケースであれば)す
べての12ch掲示板の読み書きに対応できたと思います。

243 :1:2003/03/10 12:39 ID:???
現在見えているスレ、スレ一覧のリストを動的に管理できるようになったので、
複数同時に開いている場合の順次アクティベーション(u, U でスレ一覧、m で
スレを順繰りにアクティブにする)の処理が改善されたと思います。

# そろそろ1万行逝きそう>malice.vim

244 :1:2003/03/10 17:03 ID:???
最近12chの話ばかりしているような気がしますが…。ここのcgiは結構面白いの
で拘ってしまうんですよね。データ形式がユニークなのも個人的に好みです。

でも、管理者によっては、かちゅ互換モードのみで運営してたり、cgi読みしか
できないようにしてたり、いろいろ複雑なパターンがありまして、すごく悩みま
した。最初からcgi読みオンリーにしてればよかったかも…。

まぁともかく、12chだけで3つのBBSTypeを設けてあるんですが、それの判定をよ
り強化してみました。gvimの最新版 (6.1.385) とあわせて今日中にアップした
いと思います。

245 :名無しさん@0ちゃんねる:2003/03/10 17:13 ID:???
たまにはあげてみるテスト

246 :1:2003/03/10 17:46 ID:???
>245 テスト失敗でしょうか?

247 :名無しさん@0ちゃんねる:2003/03/10 21:01 ID:???
今の今まで下げてることに気付かなかった(つд`)
あげ

248 :1:2003/03/10 22:41 ID:???
バイナリあげた途端にまたパッチ出てるし…。はぁ。

>247 ども。気にしないであげたりさげたりしてください。

249 :1:2003/03/10 23:48 ID:???
しょっちゅうSETTING.TXTを読みにいってしまうのが気になるわけなんです
が…。取得時にタイムスタンプを現在の時刻にしてやれば設定したインターバル
通りに取得するようになりますかね? なりますよね。それでいいのかな?

250 :1:2003/03/11 10:12 ID:???
>249 あぁそっか、それやっちゃうと条件付きGETができなくなる罠ですね。

251 :1:2003/03/11 21:24 ID:???
いくつか、ごく微妙なバグフィックス、不具合修正をしました。説明するのも煩
わしいような些細なことなんですが、いちおうアップデートをお願いします。

252 :1:2003/03/11 21:34 ID:???
やっぱ書いといたほうがいいですね。

* 終了時に無駄な履歴登録処理をやっていた(イベントで自動的に行うように
 なったのに削除するの忘れてた)
* 新しいスレ一覧を開いた時に、アクティブなスレ一覧番号が無効な数値になっ
 ていた

あとは忘れました。そんな感じです。

253 :1:2003/03/11 21:39 ID:???
すいません、>>234 がまた現実のものとなってしまったような気がしてます。

254 :1:2003/03/11 22:06 ID:???
今度こそ修正できたかと。ほんとすいません。>252の1個目でちょっと弄った部
分で、実害はないんですが終了時にウィンドウサイズがやけに小さくなっちゃっ
う現象が出まして。もう大丈夫なはずです。

255 : :2003/03/11 23:59 ID:???
>>1@Vim
( ゚∀゚)ガンガレー

256 :1byte!?:2003/03/12 00:21 ID:???
>255 ありがとうございます!

257 :1:2003/03/13 13:57 ID:???
Fix: 板移転時に移転先検出機能が作動しない場合があったので修正してみました

258 :1:2003/03/13 16:47 ID:???
このドメインが復活したのね…>www.ichigobbs.net

う〜、どうしよっかな。

259 :1:2003/03/13 16:48 ID:???
あ〜、復活って言うか、前は.comでしたっけ。

260 :1:2003/03/13 17:06 ID:???
暫定的に、スレデータはwww.ichigobbs.netのホスト名でもって保存することに
します(したらばのURLを与えた場合でも、ということです)。最新版に差し替
え後、もし既読のものがあれば以下のようにしてください。

:new
:cd ~/vimfiles/chalice/cache
:put =glob('*ichigo*')

サブジェクトはまぁ消しちゃってもいいかな。

:g/^s/call delete(getline('.'))

で、datをリネームします。

:g/^d/call rename(getline('.'), substitute(getline('.'), '^dat_\([^_]\+\)', 'dat_www.ichigobbs.net', ''))

タイプミスのないように注意してください…

261 :1:2003/03/14 09:21 ID:???
Fix: こういうアンカー >1,2,3 をプレビューした時に、>1-3 と表示できるよう
にしてみました。

262 :1:2003/03/14 11:25 ID:???
すごく微妙なんですけども、数字だけでもプレビューしたい時があるので(HNに
数字だけ書いてる人とか)、できるようにしてみました。適当な数字の上で
<C-P><C-P> するとできます。自動プレビューが有効な場合のみです。

あと、これもまた微妙なんですけども、たまに現在のレスをリモートのcgiで表
示させたい時があるので、できるようにしました(これはちょっと前にやったん
ですが)。レス番号の上で <S-CR> を押すと表示します。

263 :1:2003/03/14 17:56 ID:???
Neta: Vim流のブラクラをお教えしましょう。たーくさんスレを見たのち、:sba
というコマンドを実行します。何が起こるでしょうか?

# 自発的にしか起こし得ないのでブラクラとは言えないか…

264 :1:2003/03/14 23:28 ID:???
:8080みたいな、ポート指定がついてると保存ができないようです。

265 :1:2003/03/15 15:46 ID:???
前にあげたgvim 6.1.385がちょっと落ちやすい気がしたので6.1.390に差し替え
ました、って書いた気がしたんですけど、気のせいでしょうか? 寝ぼけてたの
かな

まいいや、>264の修正と併せて6.1.392を今日中にうpします。

266 :1:2003/03/15 15:47 ID:???
あら、行頭に変なスペースが入ってるような気が…

267 :1:2003/03/15 17:28 ID:???
書き込み時の特殊文字の扱いについて、見直しをしてるんですが、実体参照につ
いて何も知らないので頭がこんがらがってます。ここの最初の方でもアフォなこと
言ったような…

で、意外なことに気づいたんですが、unix板って実体参照はダメなんですね。前
からでしょうか?

268 :1:2003/03/16 01:08 ID:???
>265
> >264の修正と併せて6.1.392を今日中にうpします。

すいません、約束を破ってしまいました。まだです。今日中にはなんとか。

269 :1:2003/03/16 14:02 ID:???
パッチが400番台までいっちゃったそうです(うがー

270 :1:2003/03/16 14:24 ID:???
衝撃の事実に気づいてしまったんですが、更新チェック関数(s:Cruise)のルー
プ部分、while 1 としてるだけでbreakも何もないんですけど、何で永久ループ
にならないんでしょう? さっぱりわかんないんですけど…。ダレカオシエテ

271 :1:2003/03/17 00:02 ID:???
Bug: <C-W>o また :only コマンドでは通常、カーソルのあるウィンドウだけが
残るんですが、なぜかそうならない場合があるみたいです。再現性はわかりませ
ん。原因まったく不明。心当たりなし、です。

272 :1:2003/03/17 00:16 ID:???
こんなのが未だに残ってたりするんですねぇ…。subject.txtも。
ttp://saki.2ch.net/morning/SETTING.TXT

273 :1:2003/03/17 22:53 ID:???
フッターの表示ってどうやればいいんだろう…

274 :1:2003/03/18 10:36 ID:???
>270 連続的な更新チェックの実験をしているので、先日あげた版からはその辺
のコードはかなり変わっちゃってます。謎は謎のままってことで。

275 :1:2003/03/18 20:46 ID:???
>271 何となく原因が分かってきました。スレを閉じる時に閲覧履歴を登録しよ
うとするんですが、その時点で履歴が既に閉じられていた場合に問題が出るよう
な気がします。window.cの close_others 関数から呼び出される win_close 関
数によって curwin 構造体がなんか別のにすりかわっちゃう?

セッション中でもできるだけ自由なウィンドウの使い方ができるように(板一覧
を消して縦2列にしてみたりとか)いろいろ試してる中で出てきた問題なんです
が、かなりやっかいです。

276 :1:2003/03/18 20:56 ID:???
>275
> スレを閉じる時に閲覧履歴を登録しようとするんですが、その時点で履歴が既
> に閉じられていた場合に問題が出るような

:only を実行する時点で履歴が全てのスレよりも若いウィンドウ番号になってい
る場合、という言い方が正確かもしれません。すいません、いずれにしても分か
りにくいですよね。

277 :1:2003/03/18 21:06 ID:???
あ、直ったかも。

278 :1:2003/03/18 21:31 ID:???
まぁこんな感じのことがですね、できるようになりつつあるわけです。これまで
は難しかったんですよ? でもまだユーザーフレンドリーではないというか、
Vimのウィンドウやバッファの扱いを熟知してないとダメかも…
ttp://www.geocities.com/nanoninee/img/session_complicated.png
ttp://www.geocities.com/nanoninee/img/session_simplest.png

279 :1:2003/03/18 22:18 ID:???
やっぱ直ってない。

280 :1:2003/03/19 11:46 ID:???
http://tolkien.s7.xrea.com/test/read.cgi/jikken/1032096360/522n
超困るかも(w なぜなら

http://tolkien.s7.xrea.com/test/read.cgi/jikken/1043331322/288n
という風にしてるからです。17氏系だとそうなりますのでね。まぁそのとき考え
ればいいか…。あ〜、でもかちゅ〜しゃで読めない問題が出てきそうな予感。

281 :1:2003/03/19 12:10 ID:???
janeやぞぬでは読めるのか…。やっかいな話だなこりゃ

282 :1:2003/03/19 15:10 ID:???
比較スレで見て感動したのでちょっと真似してみました。Cはわからないので超
てきとーです。なんか、ヘンな気分(w
ttp://www.geocities.com/nanoninee/img/skin_cstyle.png

283 :1:2003/03/19 22:19 ID:???
スキンの仕組みをちょっと考えないといけないですねぇ。複数のものを簡単に切
り替えられるように。以前言ったやり方はあまり良くない…

284 : @管理人 ★:2003/03/20 00:55 ID:???
>>280-281
あ〜困りますたね。どうしよう。。
とりあえず、すぐに変わることはないです。

285 :1:2003/03/20 14:37 ID:???
>284
個人的には完全に2ちゃんと同形式にするのが良いと思います。gzip圧縮も含め
て、ということです。そうすれば多くの2ちゃんブラウザで読むことができると
思います。ただ、kageや、その方式を踏襲しているmaliceでは読めないことにな
ります。

kage作者さんには、スレ立ての問題は即座に対応していただけましたが、これは
ちょっと難しいかもしれません。

286 :1:2003/03/20 15:17 ID:???
こういう
> ttp://www.geocities.com/nanoninee/img/skin_cstyle.png

柔軟なスレ表示ができるように、レスジャンプとかのマッチング規則を柔軟にし
てみました。以前はレスの区切りに8つのハイフンを必要としていたり、レス番
号のあとに2つのスペースが要ったりしたんですが、そういう制限をなくしまし
た。

レス番号が行の先頭にありさえすれば、あとは自由にレイアウトできるようにな
ります(ショットのは黒字に黒で見えなくしているだけ)。

以下にスキンの作り方を改めて説明します。

287 :1:2003/03/20 15:22 ID:???
>286
> (ショットのは黒字に黒で見えなくしているだけ)
黒地、です。まぁどうでもいいですが

288 :1:2003/03/20 16:09 ID:???
スレッドの整形は、perlの to_text 関数によって、行単位で行っています。実
際に整形作業を行っているのは parsedat 関数で、その戻り値を to_text の側
で適切に表示されるよう処理しているわけです。

戻り値は、

行番号、名前、メール欄、日付(ID等も含む)、コメント

となっています。

要点は、行番号を先頭または改行文字(\r)の直後に置く、ということです。そ
れ以外は基本的にどのように配置してもかまいませんが、コメントの頭にはス
ペースを2つ入れることをお勧めします。

改行は、\r のみ有効です。\n は使わないでください。その他のエスケープ文字
については、:help expr-stringで確認してください。

行全体を " で囲む場合、" 文字を含めるには \\\" としなければいけませんの
で注意してください。

289 :1:2003/03/20 20:03 ID:???
let malice_winheight_history = 1

としてみるとちょいカコイイかも。

290 :1:2003/03/20 21:44 ID:???
>288
> 改行は、\r のみ有効です。\n は使わないでください。その他のエスケープ文字
> については、:help expr-stringで確認してください。

大嘘だったようです。\nを使った方がいいぽい。ちょっと確認してきます。

291 :1:2003/03/20 22:44 ID:???
dat整形について見直しを行った結果、今後(さっきうpした版から)、改行文
字は \n で統一することにしたいと思います(はぁ〜ショッキング

292 :1:2003/03/21 13:09 ID:???
スキンは、maliceディレクトリの下にskinsディレクトリを作って、さらにスキ
ン名のディレクトリを作って、そこにプラグイン(出力定義)とシンタックス定
義のファイルを置けばいいんじゃないかと、ふと思いました。で、vimrcに

set rtp+=~/vimfiles/malice/skins/skinname

というのをruntimepath定義の後に置いて、skinnameのところを適宜書き換えれ
ばおっけー、と。

293 :1:2003/03/21 13:38 ID:???
AA入力支援ってどうなんですかね。うまいやり方が思いつかないんですが。

after/ftplugin/malice_write.vim あたりに

let @f = 'フゥゥ━━━( ´_ゝ)━( ´)━( )━( )━( ゝ`)━(´_ゝ`)━( ´_ゝ`)━━━ン'

みたいな感じでレジスタに登録して、:put f や "fp して出す、またiabbrev コ
マンドで

iabbrev <buffer> TRIP honyarara

としておくと書き込みバッファで TRIP とタイプするとキーに置き換わる、とい
うようなことができます。参考にしてください。

レジスタを使う問題点は、前に登録してあったものが消えてしまう、また終了後
もレジスタに残ってしまう、という点でしょうか。

いちおう、ヘルプ項目です
:help registers
:help abbreviations

294 :1:2003/03/21 13:39 ID:???
あれー、なんか書き込むとウィンドウが分割されちゃう

295 :test:2003/03/21 13:45 ID:???



296 :1:2003/03/22 02:45 ID:???
めちゃめちゃ重大なバグに気付きました。削除コマンドで栞を削除する時、その
スレのURLの行を含むカテゴリごと削除してしまうという恐ろしいバグです。こ
れまで何度かごっそり栞が消えちゃう現象があったんですが、気付くのが遅すぎ
た…。ショックです。速やかに最新版に差し替えてください。

297 :名無しさん@0ちゃんねる:2003/03/22 08:53 ID:???
1さんの使ってみようと思うのですが
http://www.geocities.com/nanoninee/vim/malice.htm
> GNU iconv(文字コード変換プログラム)(注 2)
って言うのはどこへ行けばダウンロードできますか?

298 :1:2003/03/22 14:08 ID:???
>>297
こちらで手に入ります。
ttp://www.kaoriya.net/

vimの公式ホームページ (www.vim.org) にもあるかも知れません。あと、最近の
方針変更でperl必須ということにしたんですが、その点は大丈夫でしょうか?

299 :1:2003/03/22 15:37 ID:???
デフォルトの板一覧URLを2chのにしてみました。あと、複数のスレ、スレ一覧を
開いている時のリサイズ処理 ( <C-L> ) が改善されたと思います(垂直にスプ
リットした場合の動作は保証できませんが)。

300 :名無しさん@0ちゃんねる:2003/03/22 15:38 ID:???
>>298
ありがとうございます。

> 方針変更でperl必須ということにしたんですが、その点は大丈夫でしょうか?
これは前に一回インストールした覚えがあるので大丈夫だと思います。
だめだったらもう一回インストールします。

301 :1:2003/03/22 15:55 ID:???
>300
Perlのバージョンは何でしょう? 5.8系だと私がビルドしてるgvimのバイナリ
(perl 5.6用)では使えません、kaoriya版のgvimパッケージをお勧めします。

ちなみにもともとvimはインストールされてましたか? もしお初なら、フルイ
ンストールがお勧めなので(ヘルプとかありますし)kaoriya版か、vim公式ペー
ジのパッケージをインストールしてみてください。
ttp://vim.sourceforge.net/download.php

で、perl5.6系をお持ちなのであれば、私の方のgvimと差し替えていただくと、
準備万端ということになります。

302 :1:2003/03/22 23:35 ID:???
>>116

再び遅レスですが、ウィンドウ位置の調節をするコマンドがあるということを
vimスレで見て知りましたので。

>>117
> 位置のコントロールについては多分ウィンドウ・マネージャー依存になってし
> まう気がします。Vim固有の機能としては存在しないと思います。

大嘘でした。ほんっと、知らない機能がたくさんあるもんですね…。

:winpos x y

で位置を変更できます。画面左上からのピクセル数になります。_gvimrcに書い
ておくといいかも知れません。

303 :管理人 ★:2003/03/23 00:40 ID:???
>>302
ぉ、わざわざありがとんございまつた。

304 :1:2003/03/24 14:03 ID:???
Zetaが移転して少々ややこしいことになったんですが(cgiのパスとdatのパスが
違う)、同様のことはメガビで経験済みなので割と簡単に対応できたっぽいで
す。Niftyとかでの読み書きも、今回で同じく対応できると思います。

最新版で、外部板登録ファイル regist.brd に

[2chtype]
host[tab]host/cgi-bin

のように書いて起動すると、読み書きともにできるようになります(多分)。

305 :1:2003/03/24 14:05 ID:???
なんか表示がおかしいわけなんですが、行頭にスペースを入れたりしないように
お願いします。

306 :1:2003/03/24 23:25 ID:???
Tip: しょーもないことなんですが、たまにスレ画面だけを残してほかは閉じた
い時が個人的にありまして、で :only は使えないということで考えてみまし
た。

:windo if !exists('b:dat')|q|endif

windo は覚えておくと結構便利なコマンドです。全ての開いているウィンドウに
対してコマンドを実行する、というものです。スレは dat というバッファ変数
を持っているのが特徴なので、それが存在しないウィンドウを quit コマンドで
閉じる、ということをしています。

ウィンドウの扱い全般については、 :help windows とすると詳しい説明が載っ
ていますので、ぜひお読みください。

307 :1:2003/03/24 23:37 ID:???
応用として、開いてる全てのスレで更新チェックをすることもできますね。黒っ
ぽい技ですが。

308 :1:2003/03/24 23:45 ID:???
>307
と思ったらなんか変なことになっちゃった。う〜ん、撤回!

309 :1:2003/03/24 23:53 ID:???
これでいけるっぽいです。

:windo if exists('b:dat')|exe "normal r"|endif

executeコマンドがみそらしい…? よくわかんない

310 :1:2003/03/25 00:33 ID:???
よくあることなんですが、スレ画面で間違えて x や d を押してしまい、意図せ
ずレスをあぼーんしてしまったという場合、

:sp <C-R>=b:abone<CR><CR>

とするとあぼーん用ファイルを開くことができますので、そこで編集を行ってく
ださい。あるいは、

:call delete(b:abone)

とすることであぼーんファイルそのものを削除することもできます。

311 :1:2003/03/25 11:24 ID:???
スキンのサンプルを作ってみました。
ttp://www.geocities.com/nanoninee/vim/skin_c.zip

malice/skins ディレクトリを作って、そこで解凍してください。で、

:set rtp+=~/vimfiles/malice/skins/c

とvimrcに書いておくと、次回起動時から使えるようになります。

312 :1:2003/03/25 11:49 ID:???
もいっちょ。これがいちばん気に入っとります。
ttp://www.geocities.com/nanoninee/vim/skin_simple.zip

313 :1:2003/03/25 12:00 ID:???
もし以前に after ディレクトリ内にスキン用のプラグイン、シンタックスファ
イルを作った場合は、削除するか拡張子を vim~ などとして無効化しておいてく
ださい。

314 :1:2003/03/25 21:29 ID:???
jbbs@したらばのread.cgiは、該当スレが倉庫に落ちると302 Foundを返してくれ
るんですね。これはツール的にはちょっと嬉しいです。ついでにLocationヘッダ
で倉庫のURLを出してくれるんですよねぇ。まぁLocationは有用な値が得られる
ことがあまり無いので見ませんけど。

と、言いながら思い出しましたけど、rfc2616によれば、LocationのURIは絶対指
定じゃないといけないんですよね。相対指定になってるなぁ…

315 :1:2003/03/26 13:25 ID:???
なんかとんでもないことに気付いたような気がするんですが、初めてvimからイ
ンストールされた方は、ちゃんと色付きで表示されてますでしょうか? ただの
白黒の画面になっちゃってませんか?

もしそうなら、_vimrc に、syntax on という行を追加してください。
:syntax on とタイプするとその場でハイライトが有効になります。

316 :1:2003/03/26 14:12 ID:???
カラーリングについて少し。vim6 には colorscheme という仕組みがありまし
て、文法強調をするときの配色を、「テーマ」のような感じで設定することがで
きます。

www.vim.org (←ミラーなのか何なのか知りませんが、オリジナルは
sourceforge にあります)の Search のページから、color scheme を探して、
気に入ったものを見つけてください。個人的には candy というのがいちばん綺
麗で見やすいと思っています。

dlしたスキームを適用するには、:source scheme.vim としてください。スキー
ム用のディレクトリは ~/vimfiles/colors となりますのでそこに移動しておき
ましょう。そうすると :color scheme (拡張子をつけない)とするだけで利用
できるようになります。

_vimrc に color scheme という行を書いておけば、毎回起動時にそのスキーム
が有効になります。

317 :1:2003/03/26 14:33 ID:???
もしたくさんカラースキームが集まりすぎて、どれがどれだかわからなくなった
ら、こういうマクロが便利かもしれません。
ttp://www.geocities.com/nanoninee/vim/docolor.vim.txt

拡張子 .txt を取って、~/vimfiles/macros ディレクトリにでも入れておいてく
ださい(pluginディレクトリはだめです)。

全てのスキームから1つ、ランダムに選んで実行するというものです。vimのサイ
トに同様のスクリプトがありますが、これはその改良版です(むこうのも私が書
いたのなんで、パクリとかじゃないです)。

手動で source するのが良いかと思われますが、もし起動時にランダムなカラー
を使いたいという場合は、vimrc の colorscheme コマンドの所を変更して、

if 0
color scheme
else
source ~/vimfiles/macros/doloclor.vim
endif

としてみてください。気分次第で 0 と 非0 とを切り替えてやると良いと思いま
す。

318 :1:2003/03/26 14:51 ID:???
あ〜、それ(if 0うんぬん)やっちゃうと起動時にダイアログボックスが出ちゃ
いますねぇ。これはイクナイなぁ…。ちょっと考え直してみます。

319 :1:2003/03/26 14:56 ID:???
わかりました。

>317
> source ~/vimfiles/macros/doloclor.vim
source の前に silent を付けるとおっけーです。

320 :1:2003/03/27 13:29 ID:???
日付が日本語に! 最新のパッチが適用されたvimが必要です。
ttp://www.geocities.com/nanoninee/img/strftime_locale.png

321 :1:2003/03/27 14:52 ID:???
予定している仕様変更。vimの起動を高速化するため、プラグイン読み込み時に
perlサブルーチンの定義等が行われないようにします。スキンも、malice起動時
に読み込まれるようにします。

これに関連して、スキン・ファイルの名前を malice_skin.vim で統一すること
にしました。既存のものは、そのようにリネームしておいてください。

あと、dat整形に関して、idを日付から切り離すようにしました。ので、
parsedat関数の戻り値が変わります。

322 :1:2003/03/27 16:24 ID:???
上記の変更を行いました。ほかにも色々弄ったのでまた例のごとく不具合が生じ
るかもしれません。いや生じるでしょう。

323 :1:2003/03/27 16:50 ID:???
TIP: 各バッファに「マーク」というものを付けることができます。目には見え
ないんですが。ここ重要、とか、あとで戻りたい、と思った所で :mark a ある
いは :ka などとするとその場所にマークが記録されます。マークに指定できる
のはアルファベットです。大文字と小文字は区別されます。

で、マークをつけたところにジャンプするには、 `a とか 'a とします。

:marks コマンドでマークがついている箇所を確認することもできます。

大文字で指定すると、現在そのバッファに居なくてもそこへジャンプすることが
できます。

これは大変便利なので活用してみてください。ヘルプは :help mark-motions で
す。

324 :1:2003/03/27 18:10 ID:???
kageにHTTP認証の機能が付きましたね〜。ポピュラーなものでは初なんじゃない
ですか?

325 :1:2003/03/28 00:55 ID:???
ここで最初にスレ立てしたのがかちゅでなくVimだと言ったら怒られるだろう
か…。
ttp://kage.monazilla.org/pass/

だって久しぶりにテストしてみたかったんだもん。あ、もちろんかちゅでも読み
書き確認できました。

326 :1:2003/03/28 02:26 ID:???
TODO: BASIC認証の掲示板で、ID, PW付きのURLだと有効なスレURLとして認識で
きない気がするので、なんとかしよう…とか思って試してみたら、できちゃっ
た。これどういうことっすか? これでいいんですか? たぶん良くない気がす
るので、なんとかしよう…。

ttp://www.geocities.com/nanoninee/img/uri_with_idpw.png

327 :1:2003/03/28 02:58 ID:???
>326 に関連して、バッファ名に @ か : を含んでいた場合、どっちのせいかは
まだわかってませんが、イベントが発生しない気がします。あと、ウィンドウ閉
じてるのに開いてるとか言われちゃったり。変な感じなんです。

同じリソースに対してdatやsubjectが2つ保存されちゃうという問題もあるの
で、これはなんとかしないといけません。

328 :1:2003/03/28 13:42 ID:???
ID, PW付きのURLの問題に対応しました。栞に http://id:pass@hoge.com/board/
としておくと、ログインのプロンプトを出さずにログイン、画面にもid, passは
出ません(栞ファイルを見られたらだめですけど)。

バッファ名に不正な文字が入っていた場合の問題は未解決です。

329 :1:2003/03/28 14:29 ID:???
> バッファ名に不正な文字が入っていた場合の問題
とりあえず対応しました。

330 :1:2003/03/29 16:18 ID:???
ちょっと大きな仕様変更(予定):

開発当初はChaliceとのログ共有が仕様上必要だったんですが、Chaliceは既に新
しいログ管理方式に移行しています(旧形式もサポートされているようではあり
ますが)ので、共用が難しいということで、今後全てのログはデフォルトで
malice/cache ディレクトリに置いて管理するようにしたいと思います(これは
オプションで設定できるようにしたいと思ってます。既になってるかもしれませ
んが)。

移行期間として、

* chalice/cache ディレクトリにファイルがあればそれを使う、新規ファイルは
malice/cache ディレクトリに作成、という並行方式 (1)

* chalice/cache ディレクトリに dat なり subject を発見した場合は警告を発し
て即終了 (2)

* (2) で終了するのではなく、強引に mv/move コマンドで移動 (3)

* むしろ chalice/cache ディレクトリはチェックしない (4)

というオプションが考えられると思います。

(1) は非常に問題がややこしいことになる気がするので、できればそれ以外のや
り方がいいかなと思います。

いずれにせよ、(自分はしませんが)Chaliceとの併用というオプションも視野
に入れる必要がありますから、注意深くやらなければと思っています。ややこし
いことに巻き込んでしまいますが、その時はよろしく対処のほどお願いします。

331 :subject更新したのでage@管理人 ★:2003/03/30 02:55 ID:???
>>1タン
なんか大変そうですね。。がんがってください。
(subject更新したのであげさせてもらいます)

332 :1:2003/04/02 20:46 ID:???
>>331 ありがとうございます。

dat整形関数について、各種情報が引数の順序に依存するのはまずいということ
で、ハッシュを使うようにしました。なので、またスキンの仕様が変わりまし
た。ついでに、本文行頭のパディングを指定できるようにしてみました。サンプ
ル:

ttp://www.geocities.com/nanoninee/vim/skin_c.zip

333 :1:2003/04/02 21:28 ID:???
現在の板を対象にみみずん検索をかけるスクリプトを考えてみました。>>334
を、after/ftplugin/malice.vim あたりに書いておくといいかも。

2chのスレもしくはスレ一覧画面で

:Mimizun keyword

と入力するとブラウザを起動して表示します。引数はなくてもいいです。

334 :1:2003/04/02 21:29 ID:???
function! s:SearchMimizun(word)
if !exists('b:board')
return
endif

let word = a:word
if !strlen(word)
let word = input('type search keywords: ')
if !strlen(word)
return
endif
endif

let word = AL_urlencode(word)
let board = substitute(b:board, '^/', '', '')
let url = 'mimizun.mine.nu/cgi/namazu.cgi.exe?whence=0&query='.word
let url = url.'&max=100&result=normal&sort=date%3Alate'
let url = url.'&idxname='.board
call AL_open_url('http://'.url, g:malice_exbrowser)
endfunction

command! -nargs=* Mimizun call s:SearchMimizun(<q-args>)

335 :1:2003/04/02 21:40 ID:???
ありゃ、知らなかったですけどみみずんってライブなスレも検索できるように
なってますね。

> let url = url.'&idxname='.board
の行を
let url = url.'&idxname=_livethread'.board

にすれば多分ライブスレ検索になると思います。

336 :1:2003/04/02 22:02 ID:???
>>333
> after/ftplugin/malice.vim あたりに書いておくといいかも。
む、これはよくなかったかも。malice関連のファイルタイプを設定するたびに同
じ関数が定義されることになりますからね。メモリー的には問題ないと思います
けど。

337 :1:2003/04/02 22:13 ID:???
あ〜、pluginディレクトリに適当に放り込めばよかったんですね。初歩的なミス
失礼しました。

338 :1:2003/04/08 13:25 ID:???
Change:

* dat削除コマンドのデザインを変更してみました。最大7項目の削除対象を番号
付きで表示、番号をタイプすると削除、無関係のキーをタイプするとアボー
ト、という風になります。

* スレ(一覧)を全部閉じた後の復活機能が少し前からあったんですが、これを
最後に「開いた」ものから、最後に「見ていた」ものを復活させるようにして
みました。

どちらもまだ実験的です。

339 :1:2003/04/09 14:48 ID:???
巡回について(その1)

現在実装されている機能のおさらい。栞でスペースを押すと(オンラインなら)
カーソル下のスレの更新チェックを行います。更新があればそのまま表示、無け
れば次の行に移動します。

これまでアナウンスしてませんでしたが、隠し機能としてこのチェックを連続的
に行うことができます。巡回コマンドの引数に consecutive を加えることで実
現できます。

例:
nmap <buffer> key-sequence :MaliceCruise bookmark,consecutive<CR>

このような行を after/ftplugin/malice_bookmark.vim に書いておきます。キー
マップは :h keycodes として好きなものを探してください。

MaliceCruiseコマンドの引数はコンマ区切りで書きます。bookmarkオプションは
必須です。スレでの更新チェック(スレをスペースでスクロールしていき、いち
ばん最後まで行くと栞に移動して更新チェックをするようになっている)と区別
するためです。

splitオプションを加えると新しいウィンドウで開きます。結構べんりだと思い
ます。

340 :1:2003/04/09 15:01 ID:???
>339 言い忘れましたが、連続チェック機能を利用する場合は、スレがある程度
サーバーごとにかたまって置かれていることが望ましいです。もう1点、空行
や、取得時のエラーがあるとそこで連続チェックは止まるようになっています。
暴走はまず起こらないと思います。

巡回について(その2)

最新版で、かちゅ〜しゃ等での巡回のイメージに近い機能を実装してみました。

スレ一覧にて複数スレをビジュアル選択(V を押し j,k 等で移動)して <CR>
すると、選択されたスレの取得のみ行います。栞でも同様のことができます。

341 :1:2003/04/09 18:17 ID:???
>338
> * スレ(一覧)を全部閉じた後の復活機能が少し前からあったんですが、これを
> 最後に「開いた」ものから、最後に「見ていた」ものを復活させるようにして
> みました。

ちゃんとそのようになってなかったので次で修正します。

あと、仕様変更(同じく次回予定)。

スレ一覧の名称が内部的に threadlist だったり board だったりしてややこし
かったので、board に統一します。短い方がタイプしやすいというのが理由で
す。

ウィンドウの高さ設定オプション malice_winheight_threadlist は
malice_winheight_board となります。

また、malice_threadlist.vim(ファイルタイプ、シンタックス両ファイル)が
malice_board.vim にリネームされます。

342 :1:2003/04/12 16:12 ID:???
信じられないことですが、geocitiesのアカウントがクラックされたようです。
ページは変わりなく見れるようですが、Maliceパッケージの有効性はチェックし
てないので注意してください。とりあえずパスワードを何とかしたいと思いま
す。

343 :1:2003/04/12 16:23 ID:???
いちおうあげ直しました>malice.zip

ついでに
ttp://www.geocities.com/nanoninee/img/slashdot_test1.png

344 :1:2003/04/12 16:25 ID:???
あ、ドットスラッシュになってる

345 :名無しさん@0ちゃんねる:2003/04/12 16:51 ID:???
すげー(感心してる場合ではない)
世の中にはそんな暇な人もいるんですねー
(もしかして、パスワードが簡単だったとか…)
なんで気づいたんですか?

346 :1:2003/04/12 16:58 ID:???
>345 パスワードが拒否されちったんですよ。はい。パスワードを作る時はでき
るだけランダムなものになるようにしてるんですけどね…。手作業ですが。

347 :1:2003/04/12 17:11 ID:???
スレ読みまでの遠いx2道のりその2
ttp://www.geocities.com/nanoninee/img/slashdot_test2.png

348 :名無しさん@0ちゃんねる:2003/04/12 19:21 ID:???
>>346
え、じゃあいまはどうやってうpしてるんですか?

349 :1:2003/04/12 21:18 ID:???
>>348 パスを忘れた時用の手続きが用意されているので大丈夫でした。

350 :1:2003/04/12 21:42 ID:???
まぁでももしかしたら一時的に認証のシステムがダウンしてただけかも知れない
ですけどね。でもはっきりと拒否された旨が表示されましたので気持ち悪かった
です。大事にならなくて良かったですが、お騒がせしてどうも申し訳なかったで
す。

351 :1:2003/04/13 11:47 ID:???
ttp://www.geocities.com/nanoninee/img/slashdot_test3.png

yahooで懲りて/.はやらないと決めてたんですけども、ここまで漕ぎ着けまし
た。えまのんに刺激されました。

352 :1:2003/04/13 13:35 ID:???
てか結構前から読めてたのね>えまのん
2,3日前に比較スレで知ったんですが。

ちょっと差分取得に関して難問に突き当たったんですが、えまのんはどうしてる
のかなぁ。スレッド+時刻順でソートさせるとstartat=がレス単位にならないん
ですよね。でもレスのリンク関係を割り出すためには必要だし(不思議な仕様で
すが、べたに時刻順でソートさせるとレスの親子関係の情報が返って来ない)。

全取得しかないような気がしてきた。

353 :1:2003/04/13 17:05 ID:???
なんか適当なことばっかり言ってますが

>352
> スレッド+時刻順でソートさせるとstartat=がレス単位にならない
これは嘘で、startatは単純に投稿順になってる気がしてきました。多分そうで
しょう。

とりあえずの目標は、このスレがちゃんと読めるようになることです。気が早い
ですが、一応テスト用リンクとして貼っておきます。
ttp://slashdot.jp/article.pl?sid=03/03/06/1041206&topic=55

354 :1:2003/04/13 19:05 ID:???
はなはだ見切り発車的ではありますが、アップしてみました。

:let malice_menu_url = 'http://slashdot.jp/topics.shtml'

として、板一覧でリロードすると一覧が表示されます。

スレURLの扱いに関してはすこし限定的です。

* 「板」の概念を外すことができなかったので、URL中にtopic=num(カテゴリを
表す)という項目が入っている必要があります。
* article.pl?なんちゃらというURLでしか認識しません。comments.plの時と
sid(スレッドキーにあたる。何の略?)が異なるため
* レス番号は適当です。start=numの数字はmaliceで表示した時の番号であり、
リモートでは全然違うレスになります。

まぁ試してみてください。

355 :1:2003/04/13 23:56 ID:???
Fix: /.で、スレ一覧の項目数が30を超えていても表示できるようにしました。
いちおう上限は500ぐらいにしておきました。

356 :1:2003/04/15 12:31 ID:???
試験的に、pizaの過去ログを読めるようにしてみました。テスト用リンク:
ttp://piza.2ch.net/occult/kako/982/982363009.html

357 :1:2003/04/15 16:17 ID:???
pathinfo形式に対応していない2ch互換スクリプト用のbbstypeを作ってみまし
た。以下のようにしてregist.brdに追加してみてください。

[nopathinfo]
icefall.s2.xrea.com/x/unagi

kageやぞぬ等では逆だと思いますけど、最近はquerystring式のみ、という方が
少ないと思うのでこのような方式にしてみました。

358 :1:2003/04/16 03:24 ID:???
>356
もしかしてデリ? まぁ予想の範囲内ではあったんですが…

359 :1:2003/04/16 12:26 ID:???
Fix:
* URLを外部ブラウザで開けなくなっていた問題
* URLに ~ が含まれていると板名が取得できなかったりする問題
* ターミナル上で、<BS>を押しても板一覧に行かない問題

を修正しました。

360 :1:2003/04/16 15:55 ID:???
New:
* スレ削除コマンドに、一括削除のオプションを加えてみました。
* スキン等でメッセージをカスタマイズできるようになりました。サンプル:
ttp://www.geocities.com/nanoninee/vim/skin_c.zip

361 :1:2003/04/16 17:18 ID:???
datの改行文字がCRLFの場合は差分取得できないような気がする…。もちろん2ch
ではそのようなことはないですが。困ったな

362 :1:2003/04/16 23:48 ID:???
>358
> >356
> もしかしてデリ? まぁ予想の範囲内ではあったんですが…

新しいドメインで復活されましたので、修正版をあげておきます

363 :1:2003/04/17 12:54 ID:???
かなりショックなんですが、bbsタイプごとに各URL出力をする所で、デフォルト
の設定だとエラー出まくりですね。修正しました。

364 :1:2003/04/18 14:33 ID:???
スレで D を押すと削除できるようにしてみました。

スラド関連はまだまだ開発途上で、少しずつ修正など行ってます。米のも見れる
ようになったりしてます。

365 :1:2003/04/19 15:22 ID:???
>304
> Zetaが移転して少々ややこしいことになったんですが(cgiのパスとdatのパスが
> 違う)、同様のことはメガビで経験済みなので割と簡単に対応できたっぽいで
> す。Niftyとかでの読み書きも、今回で同じく対応できると思います。

> [2chtype]
> host[tab]host/cgi-bin

これについてですが、実装方法が間違っていました。cgiがtest/ディレクトリに
ない場合もありえますので、

[2chtype]
host[tab]host/cgi-bin/test

と、タブの後に実際にcgiのあるディレクトリを書いてください。これまでは勝
手に内部で '/test' を付加していてまずかったです。

366 :1:2003/04/21 09:20 ID:???
Fix:

よそで使おうとして、jcode.plがインストールされていない状態だとスレ整形が
できないことに気付きました。重大な欠陥を長い間気付かずに放置しておりまし
た。すいません。

# てか結構インストールするの難しいっすね…。かなり手間取りました

367 :1:2003/04/23 17:00 ID:???
仕様変更というか新機能です。板一覧を、各種bbsタイプごとに読み込むように
してみました。

これまでは、メインで使わない板一覧は、一時的に malice_menu_url の値を書
き換えて、手動で other.brd にコピペ、というやり方を取るしかなかったんで
すが、その必要がなくなります。

デフォルトで、2ch, megabbs, 15ch, slashdotを表示します。今のところこの他
に、Yahoo(米のみ)、みちのく、飼育に対応してます。

2chと言うのは2chのメニューの形式と互換であればよいので、配布されている拡
充版メニューをどれでも(しかも複数)指定することができます。

設定の仕方です。vimrcに、

let malice_menu_list = '2ch,mitinoku'
let malice_menu_url_2ch = 'http://foo.com/bbsmenu.html'
let malice_menu_url_mitinoku = 'http://bar.com/bbsmenu.html'

のように記述します。malice_menu_list はコンマ区切りのリストで、vimの変数
名になりうるもの (alphanumeric+underscore) なら何でもかまいません。で、
リストの各項目に対応するものを malice_menu_url_ にアペンドします。

# 欠点は、個別のアップデートができないことです。

368 :1:2003/04/24 18:00 ID:???
New:

板もしくは板一覧で、D を押すとその板(バッファ、subject、SETTING.TXT、
ローカルルール、全部です)を削除できるようになりました。

栞で、<S-Space>で連続チェック、<C-W><Space> で連続チェック+新ウィンドウ
で開くようにしました。

369 :1:2003/04/24 23:19 ID:???
日本のyahooも読めるようになった気がするので、今後デフォルトの板メニュー
に加えるかもしれません。
ttp://www.geocities.com/nanoninee/img/yahoo_jp_test.png

# /.とyahooは今のところ閲覧のみです。

370 :1:2003/04/25 12:54 ID:???
12chで、スレタイにレス番号が入ってしまう不具合を修正。最近見てなかったの
で気付くのが遅れました。

371 :1:2003/04/25 19:55 ID:???
スラドのスレ整形がおかしかったので修正しました。

以前修正したつもりが、ちゃんとセーブできてないということがvimではたまに
あるんです(泣

372 :1:2003/04/26 01:54 ID:???
TIP: globalコマンドの用例

2chでの書き込みの数を調べてみようと、書き込み履歴画面で、

:let i = 0
:g/\.2ch\.net/let i = i + 1
:echo i

とすると145でした。書き込み履歴自体は1月12日から始まっていて、1118ありま
す。2chで書いてなさすぎ

373 :1:2003/04/27 16:14 ID:???
New: <F1> でヘルプを表示するようにしてみました。

細かいバグフィックスなどもあります。

基本的にはユーザーフレンドリーであることは目標にありませんので、マウスと
かメニューのサポートはしないつもりですが、最低限ヘルプはあった方がいいか
なと、思いましたので。

374 :1:2003/04/28 13:54 ID:???
Fix: スレ一覧と栞のトグルがうまくいってなかったのを修正しました。その他
細かい修正や改善など。

375 :1:2003/04/29 16:24 ID:???
ふと思ったんですが、キャッシュディレクトリがスペースを含んでると全然読め
ないんでしょうか?

376 :名無しさん@0ちゃんねる:2003/07/18 18:35 ID:???
動きがなくてさびしいなぁ

377 :名無しさん@ぜろちゃんねる:2003/08/02 02:05 ID:???
どうしたんだろう

378 :a:2003/08/10 07:38 ID:tL/u3.76
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a

a
a
d
a
ger
herh
sj
tj
s

379 :名無しさん@ぜろちゃんねる:2003/08/10 08:30 ID:???
ttp://f15.aaacafe.ne.jp/~nanonine/
ここ

380 :名無しさん@ぜろちゃんねる:04/07/27 12:15 ID:???
Nullpo

381 :名無しさん@ぜろちゃんねる:04/07/30 04:39 ID:???
ガッ

382 :名無しさん@ぜろちゃんねる:04/08/16 15:05 ID:???
初めてこのスレ来たケド面白くて1から全部読んでしまった
もう1さんは来ないのだろうか?


383 :名無しさん@ぜろちゃんねる:2006/02/12(日) 05:38:49 ID:???0
http://lol.u
>http://lol.u
>>http://lol.u
>>>http://lol.u
>>382

384 :名無しさん@ぜろちゃんねる:2006/02/12(日) 05:39:51 ID:???0
>>400

385 :名無しさん@ぜろちゃんねる:2006/02/12(日) 07:09:02 ID:???0
>>384 is DQN
I heard >>384 is DQN

108KB
新着レスの表示

名前: E-mail(省略可)
READ.CGI - 0ch+ BBS 0.7.5 20220323
ぜろちゃんねるプラス