■掲示板に戻る■ 全部 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

101 :名無しさん@Vim:2003/02/09 16:05 ID:???
あ、あとスクリプトはeucで書いてますのでメッセージ類はiconvがないと化け
ちゃいます。kaoriyaさんの方でゲットしといてください。

102 :名無しさん@Vim:2003/02/09 17:40 ID:???
すいません、ngwordの機能が使えなくなってたので修正しました。お手数ですが
再度DLしてみてください。

103 :名無しさん@Vim:2003/02/09 19:32 ID:???
うっかりしてましたが、ご存知ない場合のためにエラーメッセージの貼り方を。
起動後に :mes とタイプするとメッセージの履歴が出ます。それをマウスで選択
するんですけども、guioptions というオプションに A という値が入ってないと
コピペできません。その場合はあらかじめ :set go+=A としておいてください。

で、選択するとその内容がクリップボードに入ります。これをペーストするには
:put + とタイプします。

よろしくお願いします。

104 :名無しさん@0ちゃんねる:2003/02/09 23:39 ID:???
iconv入れたら、エラーでなくなりました。

で、
> 実験板\t\t\t\thttp://tolkien.s7.xrea.com/jikken/index.html
> を書けば板一覧に出てくるんですよね?

こちらがどうしてもうまくいかないです。
一覧には出るのですが、

>貴様ら!! 板整形中のため, しばらくお待ちください...
>Cannot open subject C:\vimfiles\chalice/cache/subject_tolkien.s7.xrea.com_jikken at (eval 30) line 25.
>実験 last modified: 2003/02/09 (日) 22:11:01

と出て、スレッド一覧が取得できないみたいです。

105 :名無しさん@Vim:2003/02/09 23:43 ID:???
ありがとうございます。

:set ssl として再度試してみてください。多分それでいけるんじゃないかと。

106 :名無しさん@Vim:2003/02/09 23:55 ID:???
根本的なことを忘れてましたが、
C:\vimfiles\chalice\cache <- このディレクトリは作成されていますでしょう
か? 環境チェックの段階で、なければ作成するようになってるんですが…。も
し何らかの不具合で作成されてないようでしたら手動で作っておいてください。

107 :名無しさん@0ちゃんねる:2003/02/09 23:58 ID:???
フォルダ作成したらできますた。
ありがdございます。

108 :名無しさん@Vim:2003/02/10 00:00 ID:???
>107 おめでとうございます! でもおかしいな? どこがまずかったんだろ。

109 :ナナシサソ:2003/02/10 00:06 ID:???
書き込みテスd。

110 :1:2003/02/10 00:14 ID:???
>109 もしかしてvimからでしょうか?

111 :名無しさん@0ちゃんねる:2003/02/10 00:27 ID:???
>>110 そうです。

112 :1:2003/02/10 00:34 ID:???
>111 おお、そうですか、早いっすね。できるだけ今後も便利に使っていただき
たいと思いますんで、質問とか、ここが使いにくいとか、ありましたらよろしく
お願いします。

113 :1:2003/02/10 09:04 ID:???
Vimのインストールについて、誤解を招く言い方をしたかもしれないので、改め
て。

>74 で配布しているものは実行ファイルのみです。それだけでも一応使えるよう
に、vimrun.exeという、外部プログラムを呼び出して実行するためのプログラム
も入れてあります。これだけでは本格的なvimの環境はできません。このブラウ
ザだけ使う分には必要ないかもしれませんが、文法ファイルとか、標準プラグイ
ンとかヘルプとか、そういったものを利用するにはオフィシャルのランタイム・
ファイルを入手する必要があります。ここを参考にしてください。

ttp://vim.sourceforge.net/download.php#pc

まぁ実際には、kaoriya版のパッケージをお持ちならそれで必要充分以上ですの
で、新たに手に入れる必要はないんですが。

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 という名前のディレクトリをいちばん最後に
もってくることが多い、ということなのです。まぁそのようにして頂くと良いか
なと思います。

108KB
続きを読む

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