- 亀井さん作成のエディタxyzzyのスレです。
過去ログや関連サイトなどは>>2-5あたり。
・謎のぺぇじ -- 作者の亀井氏のページ
http://www.jsdlab.co.jp/~kamei/
・XyzzyWiki
http://xyzzy.s53.xrea.com/wiki/?FrontPage
002 [2007/04/04(水) 10:16:31 ID:sEG9xOlk] ミスターエックスワイジー <>
・XyzzyWiki -- NetInstaller/配布パッケージ一覧
http://xyzzy.s53.xrea.com/wiki/?NetInstaller%2F%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%B0%EC%CD%F7
・HIE no xyzzy -- 日江氏による QandA, Reference, Extended xyzzy lisp library
http://hie.s64.xrea.com/xyzzy/
・xyzzy Lisp Programming -- M.hiroi氏によるlispでプログラミングを楽しもうのページ
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
・Junk Scripts -- 2ch-mode,NetInstaller,KaMailV3の作者服部氏のページ
http://www7a.biglobe.ne.jp/~hat/
・silog -- ac-mode,snippet,complete+の作者シロ氏のページ
http://white.s151.xrea.com/wiki/
- 過去ログ
Part1 http://yasai.2ch.net/win/kako/979/979930156.html
Part2 http://yasai.2ch.net/win/kako/994/994321779.html
Part3 http://pc.2ch.net/win/kako/1001/10017/1001707308.html
Part4 http://pc.2ch.net/win/kako/1008/10080/1008057054.html
Part5 http://pc.2ch.net/win/kako/1013/10130/1013042550.html
Part6 http://pc3.2ch.net/win/kako/1019/10196/1019691417.html
Part7 http://pc3.2ch.net/win/kako/1032/10329/1032910212.html
Part8 http://pc2.2ch.net/win/kako/1041/10416/1041613876.html
Part9 http://pc5.2ch.net/win/kako/1053/10538/1053880433.html
Part10 http://pc5.2ch.net/test/read.cgi/win/1067394259/
Part11 http://pc5.2ch.net/test/read.cgi/win/1085301777/
Part12 http://pc8.2ch.net/test/read.cgi/win/1103400818/
Part13 http://pc8.2ch.net/test/read.cgi/win/1127783135/
Part14 http://pc11.2ch.net/test/read.cgi/win/1148990686/
Part15 http://pc11.2ch.net/test/read.cgi/win/1175649315/
関連スレ
xyzzyの使い方が分からぬやし 励ましあえ その11
http://pc11.2ch.net/test/read.cgi/software/1191681847/
テンプレは以上です。
引き続きxyzzyスレをよろしくお願いします。
- 糞エディタは使いにくいよね
- >>1
乙
・(xyzzy :hack :-) - fixdap
ttp://fixdap.com/p/xyzzy/
・(ni-view xyzzy:*packages*)
ttp://raido.sakura.ne.jp/southly/lisp/ni/view.lisp
・packaged-xyzzy
ttps://sourceforge.jp/projects/packaged-xyzzy/
・xyzzyと共に歩む・・・・・あんてな。
ttp://i-know.jp/southly/
・Planet xyzzy
ttp://xyzzy.g-artistic.net/planet/
このあたりもテンプレに入れていいかも。
- ・xyzzy Mailing List Archive
ttp://hie.s64.xrea.com/xyzzy/ml/
・qanda
ttp://xyzzy.s53.xrea.com/qanda/
・extlib
ttp://xyzzy.s53.xrea.com/extlib/
・reference
ttp://xyzzy.s53.xrea.com/reference/
- ありがとう、xyzzy
- さようなら、xyzzy
- >>7
自分で書きなよ。
バッファを2つ使って同期させればlispでもできるでしょ?
- tree何とかじゃだめなのか
- JSP書く方、multi-modeの設定どんな感じにしてますか?
(defun multi-html-mode ()
(multi-mode t "html+-mode"
'("<!--" "-->" "text-mode")
'("<script" "</script>" "jscript-mode")
'("<%" "%>" "java-mode")))
(add-hook 'ed::*html+-mode-hook* 'multi-html-mode)
これだと物足りないんですが、他をどうしようかなあと思いまして。
- あげ
- (add-hook 'foo #'(lambda () ..))みたいに
hook変数に#'(lambda・・・)ってやられると、hook変数を評価して調べるとき
一体それが何をしているのかわからないし、delete-hookも使えないので困る。
たとえ引数を渡すだけでも、hook用の関数を用意するか'(lambda ()..)
みたいにしてadd-hookして欲しい。
以上愚痴でした。生意気いってすいません。
- >>12
いやそれに関しては同意。
俺は .xyzzy で簡単な関数を hook に追加するときでも必ず defun してる。
lambda でやると同じ関数でも重複して登録されたりするし
>>12 の言うように削除もできないし。
- そうなっていないのって何がある?
- >>12
やったー俺が公開しているのは全部大丈夫だったよ。
- >>12
lambda式をquoteしてリストのまま渡すのはお勧めしません。
その渡し方だとlambda式がコンパイルされませんので。
- >>16
真っ先にこの文書を思い出しました。
ttp://www.mew.org/~kazu/doc/elisp/function.html
これを読んでからは,(lambda)の前には何もつけずに書く派に。
ちなみにxyzzyのlambdaも,functionに展開するだけみたいです。
;;; from evalmacs.l
(defmacro lambda (&whole form &rest bvl-decls-and-body)
`#',form)
- *activate-hook*って、リファレンスによると、
バッファがactivateされたときに任意の処理を行うために使用されます。
とのことですが、使ってみた感じではxyzzy自体がアクティブになったときに動
くhookぽいのですけど、そういう理解であってますか?
- >>18
ファイラがアクティブなったときは働かないでしょ。
ファイラはxyzzy自体に含まれないの? ってことになる。
- >>18
そういう理解であってる。
- 現在のウィンドウの状態(2つ以上のウィンドウ分割状態)を
違うフレームに再現させるにはどうすればいいですか?
(let (conf)
(setf conf (current-window-configuration))
(next-pseudo-frame)
(set-window-configuration conf))
ってやってみたんですが、再現させたフレームでウィンドウ移動を行おうと
すると"削除されたウィンドウです"とエラーがでてしまいます。
- 対話的に
save-window-configuration-to-register
restore-window-configuration-register
を使えばできるんですが、関数を作って一発でやりたいと思ってるので
よろしくお願いします。
- すいません、なんとか解決できそうです。スレ汚しごめんなさい。
- 解決法かいてー
- >>24
22じゃないけど、
(current-window-configuration)
ってリスト返すから、その情報を元に分割すればOKなはず。
- かつての俺と同じでinteractive宣言を知らなかっただけと予想
(defun copy-window-to-nextframe ()
(interactive)
(let ((conf (current-window-configuration)))
(next-pseudo-frame)
(set-window-configuration conf)))
- ちょっとお尋ねします。
si:closure-frame ってどういうものですか?
(defun bar (n)
(let ((x 1))
(+ n x)))
(si:closure-frame #'bar)
=> nil
となってさっぱりです。
- (let ((f (block foo (lambda () ()))))
(si:closure-frame f))
=> ((block foo nil))
- >>27
こんな感じ。
(defun foo (x)
(flet ((bar (y) #'(lambda (z) (+ x y z))))
#'bar))
=> foo
(si:closure-frame (funcall (foo 1) 2))
=> ((block bar nil) (block foo nil))
- >>28-29
どうもありがとう。
closureが属する? block のリストってことですね。
- 一からやり直しする気力がないので放置じゃダメですかね
- なにを?
- ホッシュ
- gresreg-dialog のテキスト入力ボックスを
複数行にすることはできますか?
「エスケープシーケンスを理解しろ」にチェックを入れて
"\n" で表現はできますが、コピペで楽をしたいのです。 ( ´∀`)
- :edit を使えばできるが、自分で調べれ
- _ , ― 、
,−' `  ̄ヽ_
,' ヽ
( )
( ノ`ー'ー'ヽ )
( ノ● ●( )
( 〉 -――-( )_ _
`ー'l ● ( ノ ヽ )
、‘ー'ー’ _ノ`ー' |
 ̄| ̄ |
/ /7 / ̄ ̄/ /
`ー´ `ー ´ `―´
- >>36
lispはカッコが多くて読みづらいなぁ
- すみません。KaTeXのことなんですが、1回コンパイルするのはもちろんCTRL+c t jなんですが
3回続けてコンパイルさせる命令ってないでしょうか。教えていただけると助かります。
- >>38
Ctrl+u 3 Ctrl+c t j
かな。
- KaTeXしらないけど、3回続けてコンパイルってなにか意味あるの?
- のうみそこねこねコンパイル
- >>40
たぶんBibTeXを使ってるんじゃないかな。あれは3回コンパイルする必要があるから。
http://ja.wikipedia.org/wiki/BibTeX#BibTeX.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89.E3.81.AE.E5.8B.95.E4.BD.9C
- >>39
レスありがとうございます。残念ですが、それをしても1回しかコンパイルしてくれないみたいです。
参照の部分が??になってました。
- >>38
BibTeX や索引作成などで複数回コンパイルする必要がある場合は、
latexmk を使った方がいいよ(導入はめんどうだけどね)。
http://www.yatex.org/qanda.html
http://chaosweb.complex.eng.hokudai.ac.jp/~hagi/contents/memo-meadow-tex.html
- katexprc.l:308行目の
(KaTeX-typeset cmd KaTeX-typeset-buffer)
を
(KaTeX-typeset cmd KaTeX-typeset-buffer)
(KaTeX-typeset cmd KaTeX-typeset-buffer)
(KaTeX-typeset cmd KaTeX-typeset-buffer)
にかきかえちゃうとか。
- いろいろありがとうございました。あきらめが肝心なようですね。
latexmkに挑戦しようかどうしようか。
- その程度であきらめるなー
- このエディタって本気のアホじゃ使うの難しいね。
あとこのエディタが好きな人はマゾか理屈っぽい奴しかいないような気がする。
でもこのエディタを使う人はかっこいいと思う。
俺もこのエディタを使いこなせる人になりたいです。
- 夏休みがんばれ。
- つまり48はマゾで理屈っぽいアホなのですね。
夏休みが終わる頃にはマゾで理屈っぽくかっこいい人になれるといいですね。
- この言語って(以下略
この小説家って(以下略
このカメラって(以下略
この魚って(以下略
色んなところに張りたくなるな。
- xyzzyは手になじむなぁ
- システムコールを別の色で表示したいのだが、可能かな
- etc\C他を手で書き換えればできるけど
自動で色づけしたいなら
ヘッダファイルから変換するスクリプトを書くとか
動的にキーワードを取得するlispを書かないと無理。
- SourceForge から packaged-xyzzy-20080718.lzh を落として
既存のディレクトを上書きしたら、キーバインドがなぜかWindows風に
なってしまって困ってます。
さらに元のバージョンにで上書きしても状況は同じ。
ぐぐってみても、windows風に変更する情報はあっても、emacs風にする方法はヒットしない。
というか、デフォルトでemacs風のはずだよね?
どうしたらいいんだ。
ちなみに元のバージョンは。、0.2.2.235。
- とりあえず、lispでバインドしなおすことにしました。
C+n, C+p, C+f を元のバインドにしてとりあえずほっと出来た。
あとは使いながら、気がついたところをつぶしていくか。
いい機会だから、xyzzy-lispの定義関数をちゃんと覚えようっと…。
- >>55
packagedは初心者向けのAll in one パッケージっていう設定だったと思うので
デフォルトがゲイツなんだと思う。
emacs式がいいのなら公式のパッケージを持ってきて
自分でカスタマイズして言ったほうがいいよ。
- siteinit.l 読んだ感じだと $XYZZY/site-lisp/packaged/keybind.l って
空のファイル作ってダンプ取り直せば大丈夫っぽいね。
とりあえず winkey/gates あたりの設定はされなくなる、というか、なった。
packaged ってディレクトリが将来何かの目的に使う予定があるようだと後々問題かもだけど。
ユーザが個人の設定を置く場所って理解でいいのかな。
- >>55
ちょっとダウンロードしてみた。site-lisp/siteinit.lの
from $XYZZY/lisp/winkey.lのセクションと、
from $XYZZY/lisp/Gates.lのセクションを削除
(なにも書き換えてなければで17行から91行まで)して、
xyzzy.exeのあるフォルダにできるxyzzy.wxp(osがxp以上の場合)を
削除して、site-lisp/siteinit.lc(コンパイルされたsiteinit.lファイル)を
削除して起動してみても直らない?
- QuickTour/ext/NetInstaller - XyzzyWiki
http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour%2Fext%2FNetInstaller#df1ead55
ここで公開されている
「バイトコンパイル & ダンプファイルを削除を一発でやるキーバインド」
のソースをみると、vista に対応していないように見えます
実際に vista でこの設定を siteinit.l に記述して動かしてみると、
きちんと動いていないように思えます
vista に対応させるには、どのように変更すればよいのでしょうか
- vista だとダンプファイル名どうなるの?
- そもそも (si:dump-image-path) でいいような気がしたんだけど、どうなんでしょ
- こんなのどう?vista で動くかわからないけど (load はお好みで)
(defun compile-and-delete-dump-file ()
"siteinit.l のバイトコンパイル & ダンプファイル削除を一発でやる."
(interactive)
(let ((file (find-load-path "siteinit")))
(and file
;; (load file)
(compile-file file))
(delete-file (si:dump-image-path) :if-does-not-exist :skip)))
- >>61
.wxp
- >>63
おお!それできちんと動きました
vista の他の環境の人は、>>60 のスクリプトで動いているのでしょうか
気になりました
ありがとうございました
- "<"や">"を一括で置き換えたいのでこんな風に書いたんだけど
置換対象を増やす時も考えてもっとスッキリとした書き方ないでしょうか?
(defun replace-special-to-character-reference-buffer ()
(interactive)
(progn
(save-excursion
(replace-buffer "<" "<" :case-fold nil)
)
(save-excursion
(replace-buffer ">" ">" :case-fold nil)
)))
- 勘で。
(defun my-replace (pattern replacement &aux (query nil) (regexp t) (interactive-p t) (noerror nil))
(interactive "spattern : \nsreplacement : ")
(save-excursion
(goto-char (point-min))
(perform-replace pattern replacement query regexp interactive-p noerror)))
- 違う部分をリスト化すると、同じ部分を纏められる。
(map nil (lambda (d) (save-excursion (replace-buffer (car d) (cdr d) :case-fold nil)))
'(("<" . "*")(">" . "?")))
- >>66
ttp://ohkubo.s53.xrea.com/xyzzy/index.html#multiple-replace
- >>65
それとは違うけど、大体に多様なのはVistaで動いてるよ。
- なんで 2ch-mode は bbspink.com を読み込んでくれないのさ。
- 読み込んでくれるぞ。このエロ小僧め
とりあえず板を更新してみろ
- いやだめだ。雑談系2でストップする。うーん。
- 雑談系2てbbspinkじゃないような
- すいません、ちょっとお尋ねします。C++のコードを書く際に
カレントバッファ以外のソースコードからも、関数の引数を含めて
補完してくれる拡張って既にありますでしょうか。
(補完でなく、引数の型を列挙してくれるようなものでもいいのですけど)
- 高度な補完がしたいなら、EmacsかVS(Express)のがいいんでないの?
- >>73
他bbs拡張を入れてみるといいかも
- 雑談系2で止まるってことは隠し・その他とゴミ箱もないのか
板一覧ファイルの中にはあるの
- .2ch/bbsmenu.htmlにはちゃんとあるけど、雑談系2より下、
チャット・ツール類・BBSPINKもろもろが.2ch/bbsmenu.txtにはない。
パースがうまく行ってないようなのだけれども…。
- 2channel.brd に切り換えてみるとか
- 2channel.brdにしたら読み込んでくれたありがとう。
でもこれからは手動になるのか…。
- >>76
レスどうもありがとうございます。VSは持っているんですが、
ちょっと使いにくい環境なので、使い慣れたxyzzyを使いたいところなんです。
どうやらまだxyzzyにはそういった拡張はないようなので、ac-modeを改造するか、
自作しようかと思います。
- >>81
こんなんでどう?
2ch/menu.l (menu-parse-bbsmenu)
- (when (equal current "チャット")
- (return))
+ (unless (member current '("チャット" "運営案内" "ツール類" "他のサイト" "まちBBS") :test 'equal)
(loop
(cond ((looking-at "[ \n]*<A HREF=http://\\([^/]+\\)\\([^> ]+/\\)[^>]*>\\([^<]+\\)</A>[ \n]*\\(<BR>\\)+" t)
(push (list (buffer-substring (match-beginning 3) (match-end 3))
(buffer-substring (match-beginning 1) (match-end 1))
(buffer-substring (match-beginning 2) (match-end 2)))
board))
((looking-at "<FONT COLOR=#aaaaaa>[^<]+</FONT><BR>")
t)
((looking-at "[^<]+<BR>")
t)
(t
(return)))
(goto-char (match-end 0)))
+ )
- AC-modeは色々な補完が沢山合体してるだけなので
指定した場所のファイルを保管候補に含めるとかも
ちょっと変えるだけでできたような気がする。
ACmodeじゃなくて、自分で作っても結局合体してるだけなので
ACmodeと同時に使っても矛盾は出ないから
書いた方が楽かもしれないが
- あるフォルダから、指定ファイルもしくは指定拡張子ファイルを除外してgrep検索できますか?
- >>85
*.c *.cpp の両方を検索対象とするには、「*.c;*.cpp」とする。
「|*.html;|*.css」とすると *.html と *.css を除いてくれる。
「|指定ファイル」 とすれば、指定ファイルを除いてくれる。
過去ログにあった気がする。
- 岡本隆史氏のことを過去ログで発見。亀井氏の対応に惚れた。
- Frameの名前を短くしたいが可能?今のままだと多くて20Frameくらいしか開けないので。
- >>84
レスありがとうございます。ac-mode改造してみたんですが、
思ったより使い勝手が悪かったので、結局それらを参考に
へなちょこ自作しました。
かなりへなちょこですが、これって需要ありますかねぇ・・・
>>88
具体的な要望がちょっとわからないんですが、どうもできるっぽいですよ
ttp://hie.s64.xrea.com/xyzzy/note/buffer.html#frame
- 違反者を捜し出しては通報する正義感の強い人なんだろうか
- >>90
俺が抱いた岡本氏のイメージ像。
* 旺盛な自己顕示欲
* 自らの矛盾を指摘されるとスルースキル発動
* 他人の間違いは鬼の首をとったように晒し上げ
* 聞く耳を持たず・己の姿も見えず
■2001年12月30日、岡本氏xyzzy MLに初投稿
ttp://hie.s64.xrea.com/xyzzy/ml/msg07921.html
- ■岡本氏の発言まとめ
2001年12月26日
http://web.archive.org/web/20020204051943/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2001&month=11
>すとーるまんが xyzzy を知らないことが発覚した。xyzzy の話題を出すと、「何それ?何処で手に入るの?」って聞いてきた。
2001年12月27日
http://web.archive.org/web/20020204051943/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2001&month=11
>xyzzy は、メニューに日本語しか使えなかったのか。すとーるまんに
>"xyzzy is one of the most famous emacs cron editor in Japan"
>などと紹介してダウンロード先のリンクを送っちまったぜ。ふう。
2001年12月28日
http://web.archive.org/web/20020204051943/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2001&month=11
>うーん、今度は、xyzzy のライセンスはどうたら、emacs との互換性はどうたらとか聞いてきた。色々探したけど、「全部日本語」なんだよなぁ。
>ハァ。
- ■岡本氏の発言まとめ(終)
2001年12月31日
http://web.archive.org/web/20020204051943/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2001&month=11
>xyzzy のライセンス問題は来年までひき伸ばしそうだ。うーむ。取り敢えず、FF X もまだクリアしてないし、1/9〆切の原稿も
>多少書き直さないといけないことになったし、ひー。
2002年1月4日
http://web.archive.org/web/20020204023750/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2002&month=0
>xyzzy のメーリングリストで散々もめたライセンス問題ですが、結局、フリーソフトウェアという言葉をライセンスから削除することに
>なったようです。亀井さん、お手数お掛けしましたm(__)m
2002年1月5日
http://web.archive.org/web/20020204023750/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2002&month=0
フリーソフトウェアを「無料で手に入るソフトウェア」だと思っている人が多いがそれは間違いである。フリーウェアの「フリー」とは、
>無料ののみを意味するものではない。再配布、ソースの改変の自由をも含むものである。
>詳しく知りたい場合は、FSFのフリーソフトウェアって何?や、Debian のフリーとは何だろう?あるいはフリーソフトウェアとは何を
>意味するのだろう?を読んでみよう!!
ttp://enterprise.watch.impress.co.jp/cda/static/image/2004/07/14/Okamoto.gif
- ■岡本氏の発言(追記)
http://web.archive.org/web/20020204023750/yamaguch.sytes.net/~tora/servlet/org.toraneko.servlet.Diary?year=2002&month=0
2002年1月8日
>0.9.4のリリースノートと書きながら
>0.9.5の解説を書いている
>のは、何故でしょうか? タブについては、
>想像で書くのは止めて下さい。あなた、それでもプロですか?
>"xyzzy is one of the most famous emacs cron editor in Japan"
>などと紹介してダウンロード先のリンクを送っちまったぜ。ふう。
cron?
- なんでそんな昔の話を蒸し返してんだ?
- > * 旺盛な自己顕示欲
> * 自らの矛盾を指摘されるとスルースキル発動
> * 他人の間違いは鬼の首をとったように晒し上げ
> * 聞く耳を持たず・己の姿も見えず
こんな奴なんて理系周辺なら腐るほど居るんだから、スルーしろよ
- listen の挙動がわからない
(with-input-from-string (s "abc") (while (listen s) (print (read-char s))))
=> EOFに達しました: #<string-input stream 52040780>
こういうもんですか?
- 書き込み用Cookieが変更されたせいで、2ch-modeで書き込み出来なくなってるなw
その内対応されるだろうけど。
- bufferツールバーを上部ではなく横側に配置したいんだけど、どうすればいいの?
- >>99
ドラッグ&ドロップw
- スレの宣伝
【1:24】windows Vistaに本気でくらいつく
をよろしく
- >>97
手持ちのCLISP,GCLだとエラーにならなかった。
(whileマクロ定義する必要あるけど)
ストリームがEOFならnilを返すのがlistenの仕様のはずだ
からxyzzyのバグなのかなあ。
ちなみに↓ならxyzzyでも動くはず。
(with-input-from-string (s "abc")
(while (peek-char nil s nil nil)
(print (read-char s))))
- >>102
レスありがとうございます。やっぱりそうなりますか
ソースでは string-input-stream なら return 1; ってなってるみたいで。
とりあえず、peek-char を使っておくことにします。
- 2ch-mode、cookieが使えないので最近書き込めない…さびしい。
ブラウザで見るの大変なんだよなぁ。
- ソフトウェア板のほうのxyzzyスレでcookie対応のlファイルがあげられてるよ
これも2ch-modeから投稿
- あああ書き込めた(かな?)。105さんありがとう。
みんな2ちゃんは…みたいに言うけど親切な方もおる。
嬉しいです。ていうかxyzzyの板が他にあったこと知らなかった。
- まあ板じゃなくてスレなんだけどな
- 礼はおいらよりあっちのあげた人に言うべし
デフォの(sit-for 0.3)だとこの板じゃ結構失敗するなー
- どうも〜。使ってくださっている方、ありがとうございます〜
(sit-for 0.5)にしてもたまにでますね…。
なのでいっそのことということで、sit-for()をやめて、
送信するtimeの値を5秒小さくすることで対処してみました。ちょっとずるっこですが…。
URLは同じです。よろしければ試してみてください。
後、Hattoriさん、もしよろしければ2ch-modeの方に取り込んでいただけますと幸いです。
- sit-forじゃなくてsleep-forを使うべきでは?
sit-forだと待たない場合があるよ。
- なるほど、POST文字列のtime弄れば待たずに済むわけか。頭いいな。
鯖側でアクセス時刻を保持するようになったらアウトだけど、しばらくは大丈夫そうだね。
- >>110
何かキーを押すと再開しちゃうってやつですよね?
逆に待ちたくないって人はあえて押してもらってもいいのかな…と。
まぁ今は待ちを使わない方式にしていますが…
>>111
多分そこまではいかないんじゃないかなぁと思ってます。
クッキーにもtimeの値を入れて比較…とかされるとアウチですが。
まぁなったらなったでその時ということで…
- 励ましあうスレ急に落ちた?
こっちはずいぶん過疎ってんのにしぶといな
スレ立ての用意はないすまんw
- >>113
980を超えてから24時間以上書き込みがないと落ちるんでしたっけ?
立てました。
xyzzyの使い方が分からぬやし 励ましあえ その12
http://pc11.2ch.net/test/read.cgi/software/1226425897/
- クリップボードエンコーディングを文字コード自動判別みたいなことは出来ないでしょうか?
VisualStudio2008からだとUnicodeでコピーされて他がShift_JISなのでいちいち切り替えるのが面倒で。
- http://d.hatena.ne.jp/hayamiz/20081113
- >>115
自動判別じゃないけど
http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F%A5%DA%A1%BC%A5%B9%A5%C8%CA%B8%BB%FA%CE%F3%A4%F2JIS%20X%200208%A4%C8%A4%B7%A4%C6%C7%A7%BC%B1
- vistaでrewind-ime-compositionがうまく動かなくて、ソースを見てみたら、
どうやら一番最後のset-ime-read-stringでこけているらしいのです。
この関数はbuiltinのもので、どこをどうしたらいいのかわかりません。
どなたかヒントをいただけないでしょうか。
- >>118
ImmSetCompositionString まわりっぽい。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=3886691&SiteID=7
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200805/08050021.txt
- バッファバー(タブバー)の多段表示のlispって公開されてないのか
ファイルを大量に開く人にとってスクロール機能は見づらいと思うのだが
- C-x b とかで素朴に一覧するからニャ
- バッファバーを左に置いて、共通設定の表示のタブバーを横書きにするON
- outline-treeを入れるON
- test
- 大量のファイルをまとめて編集してるときは見づらいけど大量すぎてもうどうでも良くなってF2押してバッファを選んでる。
- >>37
ワロスw
- texのスレかxyzzyのスレかどちらで聞くべきか迷いましたが
OMake つかって LaTeX コンパイルしたら簡単すぎて身長が5cm伸びた - 日記を書く[・ _ゝ・]はやみずさん
http://d.hatena.ne.jp/hayamiz/20081208/1228727272
ここで紹介されているomakeを使っているひとはいませんか
このomakeを動かしているときに
xyzzyでTeXを編集し、保存しようとすると
なんちゃら.tex
非常に言いにくいことなのですが
ファイルがなくなっちゃいました
ほにゃらら.tmp
に保存してあるので自力でなんとかしてください
こういうダイアログが表示されました
そしてたしかにファイルが削除されてしまいました
ほかのエディタを使用するとそのようなことはありません
どうすればよいのでしょうか?
- 書き忘れましたが、他のエディタというのは
emEditorの最新版です。
あと、
xyzzyのファイルの排他制御は「しない」に設定しています
ネットで xyzzy からファイルを開いた状態で
omake を動かしている人を見かけないのですが
誰か使っていませんかね……
- (setf backup-by-copying t) でどうだ
- >>129
正常に動きました
ありがとうございます
- 暖めボタン付きのレンジとかこすらなくていい洗浄剤とかでも
彼の身長は伸びてしまうのだろうか。
- sconsというビルドシステムを使ってるのですが、
・現在のバッファのディレクトリから順に上のディレクトリを検索し、
・SConstructというファイルを最初に見つけたディレクトリで'scons'というshellコマンドを発行する
なんてのできますかね?
- >>132
"上のディレクトリ"というのの意味が親ディレクトリということなら
(defun foo (dir)
(if (member "SConstruct" (directory dir :file-only t) :test #'string=)
(msgbox dir)
(progn
(unless (pathname-match-p dir "*/*/")
(error "SConstruct を発見できません"))
(foo (directory-namestring (remove-trail-slash dir))))))
を定義して
ESC ESC から (foo (default-directory))
を実行。
(msgbox dir) の部分を execute-shell-command とか使って適当に変えるとできるかも。
- >>133
ありがとうございます。 いまいちxyzzyのファイル名操作が判らなかったので、助かりました。
- こんな感じに改造して使わせていただきます。 ありがとうございました。
; scons
(defun scons-body (dir)
(if (member "SConstruct" (directory dir :file-only t) :test #'string=)
(execute-subprocess "scons" "" "*Scons*" () dir)
(progn
(unless (pathname-match-p dir "*/*/")
(error "SConstruct を発見できません"))
(foo (directory-namestring (remove-trail-slash dir))))))
(global-set-key #\F7 #'(lambda () (interactive) (scons-body (default-directory)) (other-window)))
- >>135
再帰を使っているので、(foo (directory-namestring (remove-trail-slash dir)))
の foo を scons-body に変えないと動かないはず。
- xyzzy が起動してるドライブ名ほしいから
(subseq (si:system-root) 0 2)
を使っているんですが、
ひょっとして初めから関数が用意されてたりします?
- >>137
ドライブ名取得なら pathname-device
他にもファイル名関連で pathname- で始まる関数がある
- >>138
ありがとうございます
(pathname-device (si:system-root))
で取得することにしました。
- (handler-case
(何かする)
(condition (c)
c))
で返したコンディションのインスタンス(?)から、それが如何なる種類の
コンディションなのか(simple-error とか type-error とか)を取得する
方法はないですか?
;; c は拾ったコンディション
(when (strin-match "^#S(\\(\\_s+\\)" (format nil "~S" c))
(intern (match-string 1)))
でほしい物は得られるんですが、もうちょっとまともな方法にしたいです。
- >>140
こんなんでどう?
(handler-case
(/ 0 0)
(condition (c)
(si::*structure-definition-name (si::*structure-definition c))))
division-by-zero
- >>140
何をしたいかにも寄るけど、エラーの型に応じて処理を分けたい
(けどhandler-caseにだらだら書きたくない)のなら
(typep c 'simple-error)
とする手もあるよ。
- >>141
まさにやりたかったこと、ありがとう
>>142 やりたいことはどんなコンディションだろうと拾っておいて、後から
どんなコンディションだったのか調べる、とかそんなことです。なので今回
はそのやり方だとちょいと足りないです。てゆーかその辺説明しなくてすい
ません。
- 文字列のリストから、関数を生成するマクロってどう書けばいいんですかね。
以下みたいにやってみたんですがどうしてもいきづまってしまいました。
(defmacro f-gen (&rest args)
(let ((v (gensym)))
`(dolist (v ,@args)
(defun ,(intern (concat "mode-" v)) ()
(dosomething)))))
(f-gen "clear" "set" "toggle")
#'mode-clear, #'mode-set などが動的に定義したいのですが。
よろしくお願いします。
- >>144
こうかな
(defmacro f-gen (&rest args)
`(progn
,@(mapcar (lambda (suffix)
`(defun ,(intern (concat "mode-" suffix)) ()
(dosomething)))
args)))
- マクロだと動的にならないような気がする。
変数に関数を入れてapplyじゃだめなの?
- 動的に「定義」ってよくわからないな
- 関数を定義するマクロをつくりたいってことでしょ
- >>148
です。「実行時に」っていういみでした。
- どういう状況で (do something) が何をするのかわからんので何とも言えんが
すごくマクロである必要はないような気がしてならない
- >>150
マクロなしでやるやりかたを教えてください。
(dosomething)では関数名のもとになった"clear"とか"set"とかの文字列を
使ってmessageを表示したりします。
- おはよう
(defun f-gen (&rest suffixes)
(mapcar (lambda (suffix)
(setf (symbol-function (intern (concat "mode-" suffix)))
(lambda ()
(message "~A something" suffix))))
suffixes))
要件がよくわからんがこんなん?
- hogehoge.txt の hogehoge 部分を取得する関数ってありますか?
- pathname-name
- >>154
ありがとうございました。 m(_ _)m
- 質問お願いできますでしょうか。
ミニバッファで実行して、その後普通のバッファに移動してそこで文字列を
入力したのを読み込ませて処理する―というLispはどのように書けばいいの
でしょうか。
自分で考えたのですが、どうしてもミニバッファからバッファへ移動
できないのです。移動できるようにすると、ミニバッファの入力待ちが
解除されてしまいます。
ミニバッファ上でtabすると候補一覧が分割windowで表示されますよね。
その時ミニとバッファで自由に行き来できる、あの挙動が実現できれば
解決すると思うのですが。
時間がありましたら、よろしくお願いします。
- どういう挙動か良く分からないけど、~/lisp/isearch.l を見ると参考になるんじゃないかな。
isearch-forwardが近そう。
tabで呼び出すcompleteは、単に表示してるだけだから多分違うと思う。
- お早い返事ありがとうございます!
isearch.lですか。うーん、今調べてますけど...
何分まだ未熟なもので。
挙動というのは、つまりメッセージボックスを呼び出して文字列を入力、のかわりに
バッファを使いたい、ということです。
>>tabで呼び出すcompleteは、...
そうなんですか。あのときのミニバッファは入力待ちではないということですね。
- あんまり詳しくないけど、1つのコマンドで完結させるのは難しいと思うよ。
ミニバッファで実行して〜のところはどういう感じだろう?
実行→バッファを作成して専用の編集モードに
→C-c C-c辺りで内容を処理するコマンド呼び出し
で良いんだったら、2ch-modeの書き込みがそのまま使えそう。
- >>156
俺は iswitchb.l か complete+.l が参考になると思う。
なんでこう色々出てくるかっつーと、おまいの望む挙動がこっちに伝わって
ないからだっつーのはわかるか?
- すいません。
具体的に書くと長くなるので、簡潔に説明したかったのです。
やりたいことは、「複数文字列の一括置換」です。
検索文字列@置換文字列 という条件にして
abc@def
ghi@jkl
mno@pqr
これをダイアログではなく、バッファで入力できるように
すれば、コピペで一気に処理できると思ったのです。
しかもバッファならunicode文字も可能ですし、その場で
編集してから処理させることができる。
これを読み込んで2重リストにするのは
split-stringとpushなどでできました。
そのリストで連続置換も
(dolist (x リスト)
(goto-char (point-min))
(replace-buffer (format nil "~A" (car x)) (format nil "~A" (cadr x))))
でできると思います。
>>159さんの言うとおり1つのコマンドでは難しいのでしょうか。
- >>161
複数行を入力用バッファを開いて取得したいだけなんだから、
解決案も含めて、>>159が言ってるとおりだよ。
ただ、改行区切りをやめて、
abc@def/ghi@jkl/mno@pqr
みたいにすれば、普通にミニバッファで取得して終わりだと思うんだけど。
- >>161
それだけが目的なら
(defun foo (file)
(let (alist)
(with-open-file (is file)
(let (line m)
(while (setq line (read-line is nil nil nil))
(push (split-string line "@") alist))))
(dolist (x (nreverse alist))
・・・
)))
とかしてファイルから読んだほうが簡単にできると思ったり
- 置換なら、置換範囲と、置換規則の2種類を選ぶ必要があるから、
それぞれ別のコマンドを用意した方が使いやすいように思うな。
どっちもリージョンで取得するわけでしょう。
それと、自分で作らなくても雑記帖のmultiple-replaceで用が足りるんじゃないかな。
- (defvar *rfb-buffer-name* "*Read*")
(defvar *rfb-mode-map* nil)
(unless *rfb-mode-map*
(let ((map (setq *rfb-mode-map* (make-keymap))))
(define-key map '(#\C-c #\C-c) 'finish-read-from-buffer)
(define-key map '(#\C-c #\q) 'quit-read-from-buffer)))
(defvar *rfb-mode-hook* nil)
(defun rfb-mode ()
(interactive)
(kill-all-local-variables)
(setq mode-name "rfb"
buffer-mode 'rfb-mode)
(use-keymap *rfb-mode-map*)
(run-hooks '*rfb-mode-hook*))
- (defun quit-read-from-buffer ()
(interactive)
(unless *rfb-running*
(error "read-from-buffer 中専用のコマンドですw"))
(while (not (minibuffer-window-p (selected-window)))
(other-window))
(kill-buffer *rfb-buffer*)
(call-interactively 'quit-recursive-edit))
(defun finish-read-from-buffer ()
(interactive)
(unless *rfb-running*
(error "read-from-buffer 中専用のコマンドですw"))
(let ((text (buffer-substring (point-min) (point-max))))
(while (not (minibuffer-window-p (selected-window)))
(other-window))
(kill-buffer *rfb-buffer*)
(erase-buffer (selected-buffer))
(insert text)
(call-interactively 'minibuffer-exit)))
- ;;; internal variables
(defvar *rfb-running* nil)
(defvar *rfb-buffer* nil)
(defun dive-into-rfb-buffer ()
(when (minibuffer-window-p (selected-window))
(other-window))
(set-buffer *rfb-buffer*)
(erase-buffer *rfb-buffer*)
(setup-temp-buffer *rfb-buffer*)
(rfb-mode)
(refresh-screen))
(defun read-from-buffer (&optional buffer)
(interactive)
(let ((*rfb-running* t)
(*rfb-buffer*
(if buffer
(cond ((stringp buffer) (get-buffer-create buffer))
((bufferp buffer) buffer)
(t (error 'type-error :datum buffer
:expected-type '(or buffer string))))
(get-buffer-create *rfb-buffer-name*)))
(*enter-minibuffer-hook* *enter-minibuffer-hook*))
(add-hook '*enter-minibuffer-hook*
(defun init-minibuffer-for-rfb (&rest args)
(start-timer 0 'dive-into-rfb-buffer t)))
(completing-read "from buffer: " nil)))
- そういえば completing-read とか使って lisp 評価中に minibuffer から
入力はできるけどふつーの buffer ではできねーなーと思って勢いで作った。
(read-from-buffer)
で *Read* とゆーバッファを開いて入力させる。そのバッファで C-c C-c するとそのバッファの文字列を返す。C-c q で quit する。
- >>165,166,167,168
返事が遅くなり申し訳ありません。
立派なプログラムをありがとうございます。
今試してみましたが、C-c C-cで文字列が返らないんですよ。
(insert text) するってことですよね。
私の環境だけでしょうか。
これができれば finish-read-from-buffer の処理に手を加えれば
置換処理ができるということかな。
- xyzzyをusbメモリで使っている人、なんか工夫しています?
batでpathやらを通してみたものの、もうちょっと工夫のしがいがある気がするんですが。
- http://blog.2310.net/archives/250
ここのを使わせてもらって siteinit.l を空にしてる。
- 169です。
completing-readを使って自己解決しました。
まだ完全ではないけど、なんとかなりそうです。
みなさんありがとうございました。
- >>169
よくわかんないけど、うちでは意図した通りに動いた。意図したとおりってのは
1. >>165-167 を *scratch* に貼り付けて eval-buffer
2. *scratch* に (read-from-buffer) と書いて評価(閉じ括弧の直後で C-j)
3. ミニバッファに "from buffer:" と表示され、ふつーのウィンドウの方に
表示されてる *Read* バッファにフォーカスが行く
4. お好きな文言を入力して C-c C-c
5. *scratch* に戻って (read-from-buffer) が 4. で入力した文字列を返す
(次の行に "お好きな文言" とか挿入される)
なんだけど、(insert text) ってのがよーわからん。
と思ったら finish-read-from-buffer の最後あたりにあるのは、*Read* バッファ
の文字列全部(=text)をミニバッファに突っ込んでる。completing-read は
minibuffer-exit したときにミニバッファの文字列を返すんで。
ひょっとして complete+ 入れてないと挙動が違ったりするんだろうか。
ぐちゃぐちゃ書いたけど、要するによーわからんです。
- 単に「返らない」じゃなくて、エラーが出るならどんなエラーとか、他のもんが
返ってくるなら何がとか書いてくれた方が、どう動かないのか調べるヒントには
なるぽ。
なんか解決したよーなので不要っぽいけど、ついでってことで駄レスご容赦
- >>173,174
詳しい説明ありがとうございます。
指示通り実行したところ、きちんと動作いたしました。
私はミニバッファで(read-from-buffer)を評価してました。
Lispを見ても、どういう動作をするのかまだよくわからないもので。
ちなみに自己解決というのは
(case
(completing-read "OK?: " nil)
(#\RET (return t))
(#\C-g (quit)))
というのを使えば、ミニバッファとバッファを行き来できて
目的が達せられるだろうと。
やはりmodeを作って制御すべきなのでしょうか。
- >私はミニバッファで(read-from-buffer)を評価してました。
評価と言ってるので Esc Esc(eval-expression)だと思うが、eval-expression
では返ってきた値がステータスバーに表示される。
1. Esc Esc
2. ミニバッファで Eval: (read-from-buffer)
3. *Read* バッファに "hoge" と入力して C-c C-c
4. ステータスバーに "hoge" と表示される
>ちなみに自己解決というのは(以下略
completing-read の最中は他のウィンドウに移動することもできるので、ふつー
のバッファに移動して入力するということもできる。
んでその case が意味わかんないんだけど、completing-read は入力された
文字列を返すんで #\RET とか #\C-g に一致することはない。
(C-g で completing-read を抜けると completing-read 自体が quit 投げる
んで (quit) と結果的には同じことになるが、(case ... (#\C-g (quit)))
てのは不要)
>やはりmodeを作って制御すべきなのでしょうか。
read-from-buffer でやったのは
- 入力させるふつーのバッファ(*Read*)を作る
- completing-read からそのふつーのウィンドウ&*Read* バッファへ移動
- *Read* バッファでは
- C-c C-c でバッファの文字列を(ミニバッファ経由で)completing-read
の返り値とする
- C-g で completing-read を中断させる
ようなキーマップを使うモードにする
てな具合。単に completing-read してから C-o とか(手動)でもできるから
めんどくなければ作る必要はないかと。
作るにしても割と変なことしなきゃならんから、やるなら >>159 の方がずっと
楽だとおも。
- ごめん嘘ついた。最後あたりの C-g じゃなくて C-c q で中断だった。
- >>176,177
こんな私に付き合って頂いてありがとうございます。
caseは、misc.lにあったy-or-n-pの所を参考に弄ったらそれでできただけです。
(できた、というのはただ置換が成功した、という意味です。)
いい加減なLispでお恥ずかしいのですが、一応私が作ったLispを書いておきます。
もしよろしければ、ご指導ください。
(defun foo ()
(interactive)
(let((buff1 (selected-buffer)) buff2 ls)
(pop-to-buffer (create-new-buffer "replace") t)
(setq buff2 (selected-buffer))
(case
(completing-read "OK?: " nil)
(#\RET (return t))
(#\C-g (quit)))
(set-buffer buff2)
(goto-char (point-min))
(setq ls '())
(loop
(push (split-string (buffer-substring (point) (progn (goto-eol) (point))) #\@) ls)
(forward-line)
(if (eobp) (return)))
(erase-buffer buff2)
(set-buffer buff1)
(dolist (x ls)
(goto-char (point-min))
(ignore-errors
(replace-buffer (car x) (cadr x))))))
- buff2 は、いつ編集するんだ?
編集する前に OK を聞いているみたいだけど。
ちなみに 176 が書いているけど、comleting-read で #\RET とかは
返らないよ。素直に read-string で置換文字列を取得すれば、よい
でないの? 一行が寂しければ、こんなんとか。
(save-window-excursion
(delete-other-windows)
(shrink-window 10)
(setq hoge (read-string "replace-string: "))) ;hoge は戻り値
改行は #\C-j を使わなきゃだめだけど。
- >>179
ご指摘ありがとうございます。
>buff2 は、いつ編集するんだ?
completing-readがミニバッファで待ってくれるのでその時です。
試行錯誤してやってるもので、玄人からは奇異に感じるのかもです。
>comleting-read で #\RET とかは返らないよ
とりあえず「動いたバージョン」として恥を忍んで書きました。
(下手に修正するとまた動かなくなるので)
>素直に read-string で置換文字列を取得すれば
それだとコピペして編集ができ―なんと(shrink-window 10) こんなのが
あったのですか!
今やってみたのですが、欲を言えば行番号がないのがちょっと。
大量置換で行番号を見て、いくつあるからよしこれでOK みたいにしたい。
あと、うっかりRETすると実行されてしまうので、できればやはりバッファで
編集したいです。
- ttray について質問です。
xyzzy が最前面にないときに、タスクバーボタンをクリックしてアクティブにした後、
もう一度同じタスクバーボタンをクリックして最小化すると、タスクバーボタンに最小化
され、タスクバーボタンが残ってしまいます。
これをちゃんとタスクトレイにアイコン化されるようにしたいのですがなにか対策はある
でしょうか。
上の場合も、タスクバーボタンをクリックしてアクティブにした後、隣のタスクバーボタ
ンにマウスをかざしてフォーカスを移したあとにxyzzy のタスクバーボタンをクリックす
るとタスクトレイにアイコン化されるので、
SetFocus とか使って ttray-show-xyzzy をいじってみたのですが効果がありませんでし
た。
- >>181
http://d.hatena.ne.jp/pipehead/20080309/1205067649
- このエディタって本気のアホじゃ使うの難しいね。
あとこのエディタが好きな人はマゾか理屈っぽい奴しかいないような気がする。
でもこのエディタを使う人はかっこいいと思う。
俺もこのエディタを使いこなせる人になりたいです。
- >>181
以前に俺もタスクバー左クリックで非表示にしたいと思って、色々やってみたんだけど
*deactivate-hook* に非表示にする関数がフックされてて
その関数の実行時に xyzzy が最小化されてないと非表示にされない
どうやらタスクバー左クリックだと *deactivate-hook* の時点では
xyzzy が最小化されてない模様
俺じゃどうやっても無理だったので
おとなしく『xyzzycli -f ttray-hide-xyzzy』とかやってます
>>182 のは通知領域のアイコンをクリックして非表示にするときなどに
xyzzy が最小化されてなかったのを最小化するように
書き換えてるヤツなのでタスクバー左クリックとは関係ありません
- >>183
そのコピペ2度目だから。
- はてなブックマークモードがうまく動かない。
追加や編集しようとするとら Http/1.0400 bad requestになる
- >>186
障害起きてたっぽいよ
- xyzzyでサイドバーにエクスプローラのようなものを表示させることってできませんか?
sfiler.lを使ってみたんですが、どうも使い勝手が悪くて。
- Emacs の transient-mark-mode って xyzzy には今もないのでしょうか?
練習用ページ - XyzzyWiki
http://xyzzy.s53.xrea.com/wiki/index.php?%CE%FD%BD%AC%CD%D1%A5%DA%A1%BC%A5%B8
このページの transit_2.l を導入してみましたが、やっぱり C-SPCを二回押さ
なければならないのが残念です。
- >>189
transient-mark-modeってのがあまり知らないんだけど、リージョンを反転したいってことだよね。
それならrv-region.lはどうよ。
- >>190
おお、まさにこれでバッチリです!ありがとうございます。
xyzzyって、Windows上でのEmacsの代替品として使っている人も多いと思うんで
すよね。Emacsはやっぱり重いですから。
こうやって少しずつカスタマイズしていくことで、Emacsと同じことができるよ
うにして行こうと思います。
- 代替品として使い始めたけど、
今では Emacs より断然こっちが好き。
って人も多いと思うよ。
- >>188
browserexは?
- 気がつけばemacsには戻れない体に…
- もぉ・・・xyzzyのバカァ///
- kill-subprocessってちゃんときいてる? 自分で作ったのはおろか、M-x shellで呼び出したのも殺せないんだけど・・・
一応サブプロセスがあるかないかは認識してるみたいなんだけど。普通のバッファで呼んでも、サブプロセスはないで、って言われる。
- kill-subprocessが呼び出すのはsignal-process(SIGINT,Control-C)
SIGINTではcmd.exeは落ちない…カンだけど
強制終了ならkill-processを使うといいかも。
- >> 197
kill-processでできたよ、ありがとう!!
- 軽いアウトラインってありますか? outline-tree2は導入してみたんだけど重くて・・・あんなに機能いらないから、軽いのないですかね?
- ちなみにCPUのスペックは?
- Core 2 Duo 2.2GHz, 2.0GB RAM です。
重いというのはちょっと語弊で、動いているときはいいんですが立ち上がりが遅くなるのと、本体とdll以外に大量に拡張ファイル入れなきゃいけないのが嫌なんです。
- 潔癖すぎるぜ、アニキ
outline-tree2はそこらの野良スクリプトとは比べものにならないくらい
完成度高くてイカしたスクリプトだよ。
起動時間はmsecオーダーの違いだろうから気にすんな
- >>202
いやいや、貧弱なマシンだと、無視できない差が出るよ。
当方のマシンは Celeron (Northwood-128K) 2.40GHz、Memory 1007 MB という
スペックなんだけど、今までだとxyzzyは1秒以内で立ち上がっていたのに、
outline-tree2を組み込むと、起動に5秒くらいかかる。
これだと、ファイルの関連漬けとかで気軽にxyzzyを起動するわけには行かず、
あらかじめ起動しておいてxyzzycli.exeを利用するしかなくなる。
まあ自分はそれでかまわないと思っているけれど。
- outlinexでいいじゃない
- セレロン600MHzでRAMが192MBの俺から言わせてもらえば、
たかが数秒ぐらい気にスンナ。
立ち上げている他のアプリにもよるが、
起動するのに5〜30秒かかる。
ここまでロースペックだと、ネットやるのにも結構時間がかかる(表示に)
今使っているノートPCももう9年目・・・
-
>Celeron (Northwood-128K) 2.40GHz、Memory 1007 MB
試しにwindows起動直後にxyzzy+outline2を起動してみたけど
だいたい1秒くらいだった。
HDD止まってるとか重いウィルス駆除ソフト入れてるとか
だったりしない?
- 自分は関連付けは秀丸やgreenpadにして、腰を下して編集するときは
xyzzyを使うようにしている。なにか参照しながら、編集するときは
ビューアが別の方が、自分はわかりやすいんだよね。
- AMD 500MHzのRAM315、win98機でも1秒くらいで起動できるぞ
- 500とか600Mhz とか使っている方は
そろそろ買い換えられては如何でしょうか。
- やっぱりoutline-tree2かoutlinexぐらいしかないんですかね。
しばらくマシンパワーに任せてoutline-tree2を使ってみようと思います。
ありがとうございました。
- >>210
autoload にする手もある。
- siteinit.lから読み込んでダンプしてる?
- error.lのfirst-errorでエラージャンプする時に、対応形式を増やしたいのですが、
どこを変えればいいのでしょうか。
具体的には、今の形式に加えて形式にも対応させたいです。
■規定
SUBDIR/file.c:10:test string
■対応したい形式
"SUBDIR/file.c", 10:test string
- >>213
試してないけど
(setq *error-regexp-list*
(append *error-regexp-list*
(list
(list (compile-regexp "\"\\([^\"]+\\)\", +\\([0-9]+\\):") 1 2))))
- >>214
レスどうもです。
試してみましたが、動きませんでした。
(エラーはありませんとなりました)
- >>215
"SUBDIR/file.c"をフルパスにするとジャンプするのは確認した
これ以上はもっと詳しい人に期待
あと正規表現は下の方が良かったかもしれん
"^\"\\([^\"]+\\)\", +\\([0-9]+\\):"
- >>216
あれ?
相対パスが必要なのは必要なんですが、
フルパスでも動かなかったです。。。
error.lに直接パターン追加しても、
siteinit.lに追加してみても同じでしたが、何か勘違いしてますでしょうか?
試しに、c-,modeでテスト
■OK(通常動作)
c-mode.l:82: (interactive "*")
C:\Program Files\xyzzy\lisp\c-mode.l:82: (interactive "*")
■NG
"c-mode.l", 82: (interactive "*")
"C:\Program Files\xyzzy\lisp\c-mode.l", 82: (interactive "*")
"C:/Program Files/xyzzy/lisp/c-mode.l", 82: (interactive "*")
- いい機会なんで、siteinit.l整理して各ファイルダンプし直したらoutline-tree2入った状態でも快適に立ち上がるようになった orz
siteinit.lの設定をいくつか別ファイルにまとめてそれをrequireするようにしたんですけど、それって立ち上がりに関係しそうですかね? 結局読んでるんだから一緒のような・・・
まあよかったです。何が悪かったのかはさっぱりわかりませんが(^^;)
色々答えてもらって、ありがとうございました!
- 俺の理解が正しければ
a) siteinit.l までで読み込んだもの
ダンプファイルに含まれるので、起動時の処理時間は気にする必要がない
程度に早い
b) それ以降(.xyzzy など)で読み込んだもの
ダンプファイルに含まれないので、起動時の処理時間は場合によっては
イラっとするくらい
c) autoload
起動時には(ちょっと処理するが)読みこまない。autoload された関数を
初回の実行時に読み込むのでそこでイラっとする場合も
- outline-tree2 の導入はガチだと思う。
- >>217
こっちの環境では>>214で動作したよ
相対パスでも問題なし。
これ↓評価してみて(*scratch*バッファで最後の閉じ括弧以降にカーソル置いてC-j)
NGってでるなら*error-regexp-list*に追加できてないかも
(let ((str "\"C:/Program Files/xyzzy/lisp/c-mode.l\", 82: (interactive \"*\")"))
(or (dolist (x *error-regexp-list*)
(when (string-looking-at (pop x) str)
(let ((file (match-string (pop x)))
(line (parse-integer (match-string (pop x)))))
(when (file-exist-p file)
(msgbox "~S\t~S" file line)
(return t)))))
(and (msgbox "NG") nil)))
- >>221
それは動きました。
正規表現と文字列見た感じでは動きそうな気もするんですが、何が悪いんだか...
msgboxとかでデバッグするとして、
どこのタイミングでどの変数出せば良いかとかが分かれば見てみるんですが...何かありますでしょうか
(lispはそれほど得意じゃないので、ある程度までしか分からないです)
- もうxyzzy自体がバージョンアップすることはないのかな・・・?
行カーソルと折りたたみ機能がほしい・・・
- 「列カーソル」じゃないの?
- すみません、列カーソルでした。
- 列カーソルならちょっといじるだけでできそうな予感
- 超絶列カーソル。2バイト文字を使う奴は(以下略
http://ironsand.net/2channel/1143621919.html#702
この他に列カーソル実装したって書き込み、ある?
- かっけー
- 今、xyzzyのソースをチラ見しましたが、普通ソースに対するコメントって
あんな感じなんですか?ほとんどなかったように感じましたが・・・
仕事では、大体1行ごとに何かしらのコメントを入れていますし、
他のみなさんも大体1行ごとにコメントを入れています。
仕事は組込み関係です(ECUのファームウェアを作ってます)
みなさんも、コメントはほとんど書かない派ですかね・・・?
- 別に仕事でやってるわけじゃないんだから作者の自由じゃない?
仕事なら20%〜40%くらいはコメント入れてほしいなぁ。
- オープンソースを念頭に置いてたわけじゃないだろうしな。公開してたのも単に善意だっただけだろうし。
- 一行ごとにコメントなんてアセンブリ言語でもなきゃやらんだろう。
大体そんなに何をか書くんだ?
関数の直前にその関数の大まかな機能の説明と、込み入った部分に解説くらいでいいしょ。
- 俺も大体一行ごとってのは多すぎると思う
コードそのものの説明はするなって教わったけど、違うところも多いのかな
自分だけでC++の時だと、Google C++ Style Guideで書くように今はしてる
- 一行ごととか正気の沙汰とは思えないな。
まさかこんなんじゃないよね。
// エントリーポイント。ここから始まる
int main(){
// 変数iを0で初期化
int i=0;
// iが256より小さい間、ループ
while(i<256){
// iを表示
printf("%d\n",i);
// iを1増やす
++i;
// ループここまで
}
// 0を返す
return 0;
}// おわり
書かないほうがマシ。
普通はせいぜいこれくらい?
int main(){
int i=0; // ループ用変数
// 0から255まで表示
while(i<256){
printf("%d\n",i);
++i;
}
// 正常終了(0)
return 0;
}
- >>227
2バイト文字使う人は死ぬべきとか。ネタだとしても過激だな。
てか、xyzzy使う人って2バイト文字使う人いないの?
それに実際に>>227使ってる人っているの?
- 大学を卒業した今、もはやxyzzyは2ch-mode専用機です。
- 就職した今、もはやxyzzyは開発ツールです。
- >>237
職場でxyzzy使えるの?
うちはサクラエディタと秀丸しか使えないんだが。
- サクラエディタが使えて xyzzy が使えない理由がわからんな。
- 権限者の趣味だな
- 気持ち悪いルールの職場だな>>238
- 申請があったのがその二つなんだろう。
- うちの職場では継続的にサポートがなされていないソフトは使えないことになっているらしい。
xyzzyが使えないのは結構痛いが、秀丸を覚えるしかないだろうね。
- 安定バージョンだから更新の必要がないんだよということにしておけ。
WWWCとかCLCLとかオミトロンとかもうずっとバージョンが上がってないけど使ってるよ。
VistaでサポートされなくなったVisualStudio6や2003もその扱いだと使えないことになるけどそうしたら困るよ。
他にももうずっとバージョンが上がってないけど何も困らず使ってるソフトって結構あるものだよ。
- ISMS取得のための社内規定として、フリーソフトは基本的に登録したものしか使えないことになっている。
このスレが過疎りがちなのも、xyzzyが使えない企業が多いからなんじゃないかな。
- 今更お気に入りのエディタを使うななんて言われたら生産性半減するよ。
そもそもうちのIT企画課の連中は金を払えば安心なのか、
湯水の如く他社に金をばらまいて、しかも仕事の邪魔ばかりする。
その金稼ぐのにこっちはどれだけ苦労してると思ってるんだ!
- SourceForge でとりあえず場所確保して
ソースコード変えずに「継続的に開発中」って掲げとけば許可されるんじゃない?
- マジでそうしてほしい
- 秀丸と違いxyzzyはフリーだし、いろいろ便利な機能があると力説しても
それを定量的に、客観的に示さないとだめとぬかしやがるしね。
昔は、自由に使えたのに。
これでは生産性が落ちるといっても、落とすほうが悪いと言う始末。
ブラウザはIE、メーラはOE、エディタは秀丸・・・
マジやる気なくす。
ブラウザとメーラは別にいいけど、エディタは、野球選手でいうグローブやバットだぞ・・・
特に組込みをやっているから、エディタの使い勝手は重要。
- 秀丸のアイコンファイルを抜き出してですね、
xyzzyの実行ファイルにですね…ってパス通さないといけないからダメか。
まぁ不可能でもないんだろうけど、そうまでして押し通すものでもな…。
いやしかし、生産性が落ちるようでは意味が…いやいやいや…。
- YOU、管理しちゃいなヨ!
- xyzzy使っちゃだめな企業って、そんなに多いの?
- 知らなかったけど
ISMS取得に必須なんだったらやっぱり多いんじゃない?
そういうこと好きなお方達たくさんいるから
- >>245
俺ミクシィやったことないから知らないんだが、
xyzzyってテキストエディタのコミュニティじゃ大きいほうじゃない?
あふの作者も入ってたような気がする
- 話の繋がりがさっぱりわからん
- うちはISMS取得してるがxyzzyは
申請して利用OKだな。
- ヘルプやReadmeなどに、商用利用の可不可が明記されていれば、企業やSOHOでも使える。
Personal non-commercial use only だと、企業はもちろんSOHOでも不可なのでは。
- paren.lをダウンロードしたいのですが、「喜多さんのWebサイト」はもう閉鎖してしまったのですか?
- paren.lでぐぐれ。オリジナルのparen.lじゃないけど改造版がいくつか見つかる。
- 適当に改造版を入れました
この手のはあんまりオリジナルにこだわる必要もないか・・・
- 誰かxyzzyのソースを引き継いで開発してくれないかな・・・と他力本願なことを言ってみる。
- 開発続けるっても何の機能をつけるのさ
- あれ?
2005年12月7日にオプソ化ってなってるけど、その間誰も後継版開発してないの?
- あ、Meadowも更新頻度はそんなもんか
ただ開発が終了してるのとしてないのとじゃ大きく違うな・・・
- >262
VC++2008でビルドできるようにするとか…
- それ機能じゃないじゃん
- Common Lispへの準拠度をあげる、とか。
でも重くなりそうならこのままのがいい
- マルチディスプレイの挙動をなんとか…
- 保守性を上げるだけでも開発続いてることになるのでは?
- 色指定をRGBで直接はまだやれないんだよね?
- 背景画像かな
背景色で悩まなくて済む
- 2ch-modeが新着レス数を表示できれば本体の機能追加は要らないです
- そもそも作者は生きているのか?
- 亀井さんの写真。
http://www.jsdlab.co.jp/photo/kamei.jpg
短パンはいてるしまだまだ元気そうだよ。
- 亀井さん
代表取締役なのかぁ
そりゃコード書く暇無いだろうなぁ
- この前職場の秀丸使いから
「お前の使っているエディタは標準で列カーソルや#if 0〜#endifの箇所の色変更や折りたたみ機能もないのか」
「っていうかそんなマイナーなエディタを使うなよ」
と言われ、悔しい思いをしました。
xyzzyにおいて、過去スレなどを見た結果、
上記機能はないor実現困難なのはわかりました。
でも、このままでは悔しいです・・・
- ないの?
emacsで出来るんだしxyzzyでも出来そうな気がするけどなあ。
- >276
大量ファイルや大きめのファイルのgrepの速度でも争ってみたらいいんじゃない?
grepや置換の時に改行が入ってたりとか複雑な正規表現とか使ってみるといいかもしれない。
それとかWindowの分割とか便利そうに使って見せつけてみるとか。
同じ機能があるかで争うと泥沼になるのでできるけどやらない方向で。
必要な機能があるツールを使い分けるというスタンスで秀丸にない利点を見せた方がいいかと。
最近の秀丸がどれくらい変わったのかは知らないけど、
秀丸は巨大なファイルを開くときも一時ファイルを作って使用メモリを抑える傾向があるので
大きめのファイルの処理速度がいまいちなのが好きじゃない。
その代わりメモリに納まらないサイズのファイルでも編集できるのは利点だけど…。
- >標準で。
#if 0〜#endifの箇所の色変更 はできるんじゃないの?
列カーソルはどういう機能か知らない。
折りたたみは要望でよく上がる。
- 部分隠し出来ないのか、知らんかった。
さすがにこれは本体バージョンあがってくれないとつらいやね。
- そんな争いしないで、「俺はこれが使いやすい」でいいじゃないの
そしてもし秀丸の方がいいと思ったら素直に乗り換えたらいいじゃないの
- でもなんでかエディタとかブラウザとかOSとかって戦わずにはいられないんだよな。
- テキストファイルが作れれば別に何でもいいと思うが
- >283は今後一生メモ帳だけで生きていくそうです
- よし、じゃあ俺は保存ができない「チラシの裏」を使うことにする!
- >>279
方法Plz
- とりあえず、xyzzyには辞書があるんだ!
って言ったら
「へー・・・だから?」って言われたので、
Gtags機能とか他にも色々拡張できるんだ!
って言ったら
「別にそんな機能いらねえし・・・」
俺にはxyzzyのよさを引き出せなかった。ごめんよ・・・
- >>286
M-x hide-ifdef
cppで処理して表示するみたいだからそれなりの開発環境ととのってないとだめかと。
cygwinとか入ってればokk
>>287
確かに現状で問題ないなら乗り換える必要ないしな。エディタは。
- xyzzyのいいところ?
「軽くてemacs的な拡張性があるにもかかわらず、適度にwindowsアプリ的なカスタマイズが可能であること」
「その拡張の多くが、netinstallerによって可能であること」
の二点だと思う。
- とくに軽いのが一番大事だなw
- Meadowだとちょっと重いしね。
結局のところその「拡張性」にwktkするかしないかの違いだよなあ。
するのが正しいとかしないのが正しいとかじゃなくもう趣味の話だよね。
- dabbrev-expand で別バッファにもpopupにもリストを
出さずにただ順番に補完していく設定はありますか?
- >> 「別にそんな機能いらねえし・・・」
M-x 2ch-mode
- >>292
別バッファもpopupもでないよ?
- >>294
ほんとだ。
本体を落としてきてまっさらな所にいれれば
そういう動作になりました。
何が邪魔してるのか探して見ます。
- lisp-complete-symbol を呼んでいたようです。
ずっとdabbrevだと思ってました…。
これはpopup, バッファ無しで動かせますか?
ヘルプを読む限り、どちらかを選ばなければならないようですが。
- CAEやってましてNastranのバルクファイル編集してるんですが、ルーラーを10桁から8桁にすることってできますか?
- >>297
ソースいじるしかなさそうな気がします。
ソースいじるなら
Window.ccの3294からの
Window::paint_ruler (HDC hdc, const RECT &r, int x, int y, int column) const
で10と5とそれ以外の場合で分岐してるのでここに足せばよさそうな気はします。
- C言語でコンパイルしてできた実行ファイルを
execute-subprocess で呼び出してるんですが
バッファ上で表示されるタイミングを
コマンドプロンプトと同じにはできないんでしょうか?
getchar で入力を受け取る時に
何を入力するかメッセージを表示したいのですが
入力が終わったあとに printf の内容が表示されてしまいます。
具体的には↓のだと"plz enter sth" が
キーボードからの入力が終わってから表示されてしまう状態です。
#include <stdio.h>
main(void)
{
int c;
printf("plz enter sth");
while ((c = getchar()) != '\n') {
putchar(c);
}
}
何かうまいやり方はないでしょうか?
- >>299
ttp://hie.s64.xrea.com/xyzzy/ml/msg04346.html
以下のスレッド参照
- >>300
レスありがとうございます。
鯖が落ちてるのか、今開けないようなので
後で見させて頂きます。
- これを xyzzy に移植できるハッカーはいませんかーっ!
anything.elのインターフェイスを使い、EmacsにPHPの補完を実装するマイナーモード php-completion.el
ttp://tech.kayac.com/archive/php-completion.html
- >>302
とりあえず ac-mode じゃだめなのかね
- 今、ac-mode 使ってます。
ただ php-completion が便利すぎるので。
- >>304
たぶん、 php-completion を移植するのは大変すぎるから、
現状の ac-mode に足りない、便利な機能というのを、
ちゃんとここで説明してみれば?
そしたらだれかが、 ac-mode-php とか作ってくれるかもしれないし。
- >>305
確かにそれが現実的ですね。
ac-mode も素晴らしいので。
とりあえずの希望としては
・関数の引数も出てほしい
・文字の途中はインデントになってほしい
( Ex. str_replace の str_ の位置で C-i したらインデント )
でしょうか。
- >>298
そうですか。どうりでそんなlispがないと思いました。
どうしても我慢できないならソースいじってみることにします。
ありがとうございました。
- packaged-xyzzyが3月15日に更新してるね。
- test
- あふのユニコード対応が始まってるけどすごい大変そう
delphiコンポ+Win32APIという別のわずらわしさがあるにしろ
xyzzyはさらに大変だろうな
ソースあっても誰もやってくれないわけかw
- ユニコード対応って何をすること?
対応するとどういうメリットがあるの?
- aの上に「..」がついてるような文字を含むファイルが開けるようになる。
- 今は開けないんだっけ?
- そのくらいなら、今でも編集できるね。
- LispがUnicodeなんだから、ちょっとCreateFileのあたりいじるだけでできるだろ。
と思ってソース見てみたが、やってられない量のcharだった。
- ここみれば各エディタの対応状況が分かる。xyzzyもあるよ。
外国語のためのエディタ
ttp://www.geocities.jp/sprache22/Editor/editor.html
- iswitchb を complete+ で補完させようと思って、以下のように変更して
動いているみたいだけど、、、これでいいのかな? 教えて。
;(setq iswitchb-final-text (completing-read
; prompt ;the prompt
; '(("dummy" . 1)) ;table
; nil ;predicate
; nil ;require-match [handled elsewhere]
; start ;initial-contents
; 'iswitchb-history)))
(setq iswitchb-final-text (completing-read
prompt (mapcar #'buffer-name buf-order)
:must-match t
:default start)))
- swank欲しいなー
- outline-tree2で、バッファに変更があるたびにツリーを更新することはできますか?
いちいち更新するのが面倒なときがあるので・・・
- >>319
キー入力全てに対して更新、それとも保存したら更新?
- enterだけに割り当てるのがいいんじゃない?
- >>319
おれは recenter-with-hook 入れて、
config.l に下のを書いてるけどな。
希望通りにするなら、*post-command-hook* に引っ掛ければいいよ。
(defun olt-updates ()
(when (and (outline-tree-exist-p)
(outline-tree-open-p))
;(outline-tree-create-outline)
(outline-tree-hscroll *outline-tree-hscroll-arg*)))
(require "recenter/recenter-with-hook")
(add-hook 'ed::*after-recenter-hook* 'olt-updates t)
- あ、(outline-tree-create-outline) のコメントはずしといてね。
- まだ間違えてる。。。
(defun olt-updates ()
(when (and (outline-tree-exist-p)
(outline-tree-open-p))
(outline-tree-create-outline)))
- grepをかける際に、コメント行を無視してgrepをかけたり、
逆にコメント行のみでgrepをする・・・ことは可能でしょうか?
言語はCなので、コメントは/*〜*/か//になりますが。
- >>325
使ってないけど grep-context.l はどうっすか。
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2F%A5%B3%A5%F3%A5%C6%A5%AD%A5%B9%A5%C8%A4%F2%BB%D8%C4%EA%A4%B7%A4%C6grep
>>324
recenter-with-hook ってなに?
- >>325
ggrepでできるよ。
- 返答ありがとうございます。
キーを押す度に更新されるのも結構うざそうなので、Enter押下の場合のみ更新しようと思います。
そこで更新用の関数を書いてEnterに割り当てたいのですが、キーバインドがうまくいきません。
(global-set-key #\RET '更新用関数)
上記のように記述してもEnter押下では反応しませんでした。更新用関数が動作するのは確認しています。
Enterに関数をバインドする方法として、この記述は間違っているのでしょうか?
正しい記述方法をご存知の方がおられたら、ご教授下さいm(_ _)m
- >>328
モードごとのキーバインドで隠されてるんじゃないかと予想
- >>329
どうやらそのようです。各バッファで local-set-key を用いることで、そのモードでのEnterに割り当てることができました。
ということは、異なるモードでファイルを開くたびに、local-set-key を実行しないと割り当てできないのでしょうか?
olt2が起動している間はどのモードで開いても割り当たっていてほしいのですが・・・
独自にolt2モードでも作るしかないんですかね?
- \RET が置き換わっちゃうと不便じゃない?
別のキーに割り当てるのが楽だと思う。
どうしてもやるなら、マイナーモードにしておくのが良い。
上書きモードみたいにバッファをまたいで動作を変えられるはず。
- ところで、Windows 7で動くの?
- >>326
>>327
遅くなりましたが、ご回答ありがとうございました。
- Windows7でVMwareがちゃんと動けば問題ない
- >>326
> recenter-with-hook ってなに?
むかし 思いつくままxyzzy にあったんだけど、
今は公開されてないね。。。
C-l (recenter) したときに、ついでに実行したい関数をフックするやつ。
- とりあえずOLT2-modeを作成して、Outline-Tree2の起動時にそのマイナーモードを用いることで、Enterへのキーバインドは解決しました。
ミニバッファいじったときにEnterが誤反応するのが難点ですが(笑)
答えていただいた皆さん、ありがとうございました。
- はいはい
- C-x #
で make を実行するため make と入力していくとき、
mak までで すべての候補が make だったので
make が挿入されて、 続けて e を入力すると makee となってしまうのは
どうにかならないでしょうか。
ちなみに、ac-mode と complete+ は使用しているので、そのあたりも
関係しているかもしれないです。
- まず、それらをはずして、原因を特定してください。
- complete+ なしでも起こるようだけど、関係はしてました。
んで、自分でなんとかしました。
お騒がせしました。
- だからなんで原因を秘密にするのか。
- ole.lを使ってOLEオブジェクトのメソッドを実行すると
メソッドの実行中はxyzzyの操作ができなくなるみたいなのですが、
実行中でも操作できるようにoleをバックグラウンドで呼んだり
C-gでoleの実行をキャンセルすることはできるでしょうか?
- >>338
おしえてくださいな。
- >>341
原因を書いても>>337のようにめんどくさい返事をするようなやつがいるからじゃない?
- そんなやつは何処にでもいるから、気にしてたら仕事なんてできないけどな。
でもここは仕事じゃないから、すきなように、書きたいことだけ書けばよい。
とはいえ、活発なほうが楽しいよね。
- 安定しちゃったね。
- たとえHP更新していなくても、毎日このスレはチェックしてますよ!
- キーワード色付けはもうちょっと色数欲しい...
- >>347
HPのタイトルはころころ変わっているだろw
- ほんと豆にタイトル更新するよなw
- え?
- えっえっなんかこわいそれもこわい
- 本当にやる気がないとか思っていたらすごく怖い
- 自動更新じゃないだろうね?
- ruby-mode が正規表現を %r で括るとインデント壊れるのが困ってる。
- 追加してほしい機能はあるんですけどね・・・
Wikiもぐだぐたになってきましたし、ちょいとつまらない・・・
- wikiはみんなで編集するためのものですよ
- そこそこ欲しいものがあるなら、自分で作れなくても、アクション起こすのが効果的ですよ。
- fixdapみたいになるのかな。
- git-mode ってないの?
- なんかすげぇイラっとした
- なにに?
- 寝るときに蚊の羽音が聞こえるけど
電気をつけると気配が消えることに。
- そんなときは、起きてlisp書くといいよ。
- 蚊取りlispでも書くか
- ftp の読み書きを xyzzy 経由でしたかったので
外部で ftp と接続するexe 作っておいて
call-process でよんで使おうとしてるのですが
普段ファイルを開くときにある補完はどうすれば実現できるのでしょうか?
ftp から ファイル名一覧を読み込んでファイルに落とすところまでは
できたのですが、ここから何をさわれば良いかさっぱりわからず困っています。
- 普通のファイル名補完なら interactive の説明読めばできると思うよ。
そうじゃなければ ~/lisp/complete.l を読んでみるといいかな。
- >>367
dです。
do-completion を使うとできそうな事がわかりました。
もう少しごちゃごちゃ触ってみます。
- ん?
*do-completion と do-completion の2つあるみたいなんですが
先頭に星があるのは何か特定の命名規則にそっているんでしょうか?
- >>369
特定の命名規則なのかどうかは知らんが、
built-in な関数(特に system パッケージの関数)にだけ、
* で始まる関数名を付けてるみたい。
特に気にすることないんじゃね?
ところで、もうできた?
- >>370
なるほど、ありがとうございます。
>ところで、もうできた?
スローライフな脳みそなので多分1ヶ月ぐらいはかかるかと。
do-completion を使う前にまずファイルを読み込んで
それを list にする所で躓いてます…。
- >>371
スローなのは、別にいいんじゃない?
よければ、できたときに公開してください。
ただ、昔佐野さんがそんなようなの作っていたような気がしないでもない。
知ってる人いたら、プリーズ!
> do-completion を使う前にまずファイルを読み込んで
> それを list にする所で躓いてます…。
一行単位なら
(goot-char (point-min))
(let (lst)
(while (scan-buffer ".*" :regexp t :tail t)
(push (match-string 0) lst))
; もし順序がファイル内と同じほうがいいなら、 以下のコメントはずす
; (setq lst (nreverse lst))
)
- >>372
テストしないと、すぐ間違えるな...
- (while (scan-buffer ".*" :regexp t :tail t)
+ (while (scan-buffer ".+" :regexp t :tail t)
- >>372
別に作ってないよ。
siloさんのvirtual-fileシリーズでftpは大分使いやすくなるよ。
- >>372-372
サンプルコードありがとうございます。
ただ、必要ないのにbufferで開くのが少し嫌だったので
結局以下のコードになりました。
(with-open-file (in "filelist.txt" :direction :input)
(let (buff)
(while (setq buff (read-line in nil))
(push buff *ftp-file-list*))))
変数 buff が冗長な気がしたので
nil をpush したら nil を返す my-push でも宣言して
(while (my-push buff *ftp-file-list*)) にしようかと思いましたが変ですよね、これは。
他にうまい書き方あるでしょうか?
>>374
virtual-file-ftp を検索してみたところ
これを使えば今作ろうとしてるのは無用になってしまう事が判明したので
検索結果は見なかったことにする事に決めました。
lispに慣れたいのが一番の理由だったりしますので。
- >>375
> 他にうまい書き方あるでしょうか?
(with-open-file (in "filelist.txt" :direction :input)
(while (peek-char nil in nil)
(push (read-line in) *ftp-file-list*)))
こうかな。listen がなぜか EOF でも t を返すから peek-char 使った。
- >>375
作り始める前に良く調べるのも楽をするコツだね。
自分で作らなくても、ソース読むだけで勉強になるし。
(with-open-file (in "filelist.txt")
(loop
(unless (car (push (read-line in nil) *ftp-file-list*))
(return (pop *ftp-file-list*)))))
僕はふつうlet使って書くけど、なんとなく。
- 邪道?
(with-open-file (in "filelist.txt" :direction :input)
(loop
(push (or (read-line in nil nil nil)(return))
*ftp-file-list*)))
- >>376-378
おお、色々ありますね。
勉強になります。
- lisp について質問させてください。
下のコードのように hoge を実行する直前に do-something を実行したいので
このように書いたのですが、これだと引数が渡らずエラーになってしまいます。
もちろん call-hoge (&optional file) (interactive "F") とすれば
正常に動作するのですが、あくまで事前に処理を少ししたいだけなので
そういう呼び出しをせずにできると嬉しいです。
hook変数を自分で定義して使えれば一番良いと思うのですが、
調べても作り方がわかりませんでした…。
(defun hoge (&optional file)
(interactive "F")
(message-box file))
(defun call-hoge ()
(interactive)
(do-something)
(hoge))
- 何がしたいのかよくわかんないうえに、何が問題なのかもよくわかんないので
ほんとに「一番良い」のかはわからんが
(defvar *hoge-hook* nil)
(add-hook '*hoge-hook* 'do-something)
(defun hoge (&optional file)
(interactive "F")
(run-hooks '*hoge-hook*)
(message-box file))
- やり方は色々あるけど、hogeを呼び出す前にdo-somethingを呼び出すべきなのかな?
その書き方の延長だと下の書き方でいける。。
(defun call-hoge ()
(interactive)
(do-something)
(call-interactively 'hoge))
- >>381
ありがとうございます。
自分でhookを書くときはこうするんですね。
>>382
おおっ、そんな便利な関数があったんですね。
ありがとうございます。m(_ _)m
- 雪見酒さんのruby-modeを使って
こちらのスクリプトを実行すると
http://myruby.seesaa.net/category/6568883-1.html
日本語部分が表示されないんですね。
それで多分、保存せずに実行する一時ファイルに渡すときに
エンコードが変わっちゃってるんじゃないかと思い
(setq *ruby-save-bufer-before-run* t)
としたら正常に日本語を表示することはできました。
でも、できるなら保存せずに実行したいので
どうすれば良いかと ruby-mode.l を読んでみましたが
自分にはお手上げでした…。
下あたりがその処理だと思いますが
どの関数にも文字コードの指定する方法がなさそうでした。
どなたかわかる方いませんか?
(let
((tempfile (make-temp-file-name
"__temp_" "rb" (default-directory))))
(with-open-file(rb-stream tempfile :direction :output)
(princ (buffer-substring (point-min)(point-max)) rb-stream )
)
(command-execution (concat *ruby-prog* " \"" tempfile "\" " args))
(delete-file tempfile :if-does-not-exist :skip)
)
- >>384
> (with-open-file(rb-stream tempfile :direction :output)
> (princ (buffer-substring (point-min)(point-max)) rb-stream )
> )
ここを
(write-file tempfile t nil (buffer-fileio-encoding) (buffer-eol-code))
でどうでしょ
- >>385
動きました。ありがとうございます。
write-fileなら文字コードの指定ができるんですね。
ところで >>384の処理が関数 rb-run に書かれてるんですが
これを ~/.xyzzy や siteinit.l から上書きもとい再定義することはできないんでしょうか?
今回は直接 ruby-mode.l を書き換えたんですが
あんまり良い処理とは思えませんので
本来こういう時にどうすれば良いのか教えて頂けませんか。
- >>386
今回の場合は作者に修正点を伝えるのが良いかな。他の人にも影響しそうだし。
そうでなければ、.xyzzyとかで
(require "ruby-mode")
の後に、ruby-mode.l でin-packageをさがして、
(in-package "editor") ;ruby-modeのもの
上書きしたい関数
(in-package "user")
でいいよ。
- >>387
require のあとに in-package しないとダメだったんですね。
後者を忘れてしまっていました…。
>修正点
ありがとうございます。作者にメールで連絡させてもらいました。
- 最優秀ダウンロードソフト決定戦
お気に入りのソフトに投票しよう!
http://www.vector.co.jp/soft/win95/writing/se102920.html
「文書作成・印刷部門」の現在ランク外 ( ´Д⊂
せめて10位以内に入れるように投票お願いします!
- この手のランキングに興味ないし
だからどうしたって感じなんだよな
- 最近あまりにも新規参入者が少ないから
多少目立たないとコミュニティが自然消滅しちゃいそうで怖いんです。
- vectorからダウンロードできること自体初耳だ
- 秀丸に入れといた
- EmEditorに入れといた
新規は少ないかもしれないけど、離脱も少なく見えるから大丈夫じゃね?
TeraPadとかに比べると容易く人に勧めるソフトでもないと思うし
- 雑誌のおまけにはよくついてる気がするけどな
- >>394
どこぞの国の長寿・少子化みたいでイヤだなあ、それ
- カーソルの下(右?)にある文字を取得する関数はありますか?
- (char-after (point))
?
- >>398
それです、ありがとうございます。
- "123"などの文字列から数字に変換する関数は用意されてますか?
ないなら書こうと思うんですが、
初めから用意されてるならそれを使いたいので…。
- >>400
parse-integer かな
- >>401
ありがとうございます。必死に string と char で探してました。
- 何度もすいません…。
どうしてもわからないので質問させてください。
(defun foo (num, str)
(interactive (list (read-string (concat "s" (nth (- num 1) '("1:" "2:" "3:")))))))
(defun call-foo ()
(interactive)
(call-interactively (funcall 'foo 3)))
foo の引数によって 入力の表示を切り替えて
ユーザー入力を str に入れたいのですが
「foo でどう引数を取れば良いのか」 と
「call-interactively で引数つきの関数をどう呼び出せば良いのか」
の2点がわからず困っています。
どのように書けば上記の処理を動かせるのでしょうか?
- 何したいのかはよくわからんが、物凄く不自然なコトをしてるのはわかった。
- 不自然ですか…。
ちょっと処理の仕方自体を見直してみます。
- 俺も何がしたいのかよくわからんが、下の用件をみたすならこうかな
>foo の引数によって 入力の表示を切り替えて
>ユーザー入力を str に入れたいのですが
(defun foo (num)
(interactive "n")
(let ((str (read-string (concat "s" (nth (- num 1) '("1:" "2:" "3:"))))))
(message "~A" str)))
(defun call-foo ()
(interactive)
(foo 3))
で、「call-interactively で引数つきの関数をどう呼び出せば良いのか」は
矛盾を含んでるのはわかるかな?
- 想像力がないけど、がんばってみました。
下のような方法を使用する状況がいまいち理解できないので
はずしている可能性が高いです。
(defun foo (num)
(cond ((= num 1) (msgbox "~Aが入力されました。" (read-string "1: ")))
((= num 2) (msgbox "~Aが入力されました。" (read-string "2: ")))
((= num 3) (msgbox "~Aが入力されました。" (read-string "3: ")))
(t (msgbox "~A""切り替え用の数値が違っています。"))))
- こんなふうにするのが自然なようにも思う。
foo は interactive にしなくていいような気がするんだな
(defun foo (str)
(message "~A" str))
(defun foo-read-input (num)
(read-string (concat "s" (nth (- num 1) '("1:" "2:" "3:")))))
(defun call-foo ()
(interactive)
(foo (foo-read-input 3)))
- >>406-407
レスありがとうございます。
readstring は interactive と一緒に使うもの。と激しく勘違いしてました。 orz
call-interactively の件も良く考えたら自明でしたね…。
本当にありがとうございました。
- 指定したファイルが空かどうか調べるには
find-file したあとに (equal (point-max) (point-min))
で判定して、バッファを閉じる以外にはありませんか?
中身を判定したいだけなのに
バッファに読み込むのは無駄に思えるので
直接確認できる方法があるなら知りたいです。
- file-length
- >>411
ありがとうございます。
- APIの実行速度とか評価したページ無い?
Profilerなんか面倒だし、呼び出す頻度とか大体分かってるから……
- (remove 2 '(1 2 3))
=>(1 3)
だったので
(remove "bar" '("foo" "bar" "hoge"))
=> ("foo" "hoge")
を期待したのですが
実際はこうでした。
(remove "bar" '("foo" "bar" "hoge"))
=> ("foo" "bar" "hoge")
なので、こう書いたのですが
(remove-if #'(lambda (x) (equal "bar" x)) '("foo" "bar" "hoge"))
=> ("foo" "hoge")
やや冗長な気がします。
もっと良い書き方はありますでしょうか?
- (remove "bar" '("foo" "bar" "hoge") :test 'equal)
- :test はそういう風に使うんですね。
ありがとうございます。
- csv-modeを使ってるのだけど力を貸してください。
編集ダイアログの横幅が短すぎたので、
csv-mode.lの中を見て、幅を550まで広げることはできました。
これを、改行のできない複数行のテキストボックスにすることはできませんか?
550まで広げても、長い文章なんかを表示する時、
はみ出した部分を見るのに手間取ってしまうのです。
それが折り返して表示されたらいいのですが。
- >>417
csv-mode は知らんが、dialog-box でとりあえず折り返し表示できた。
(setq *dialog-width* 199)
(setq *dialog-height* 256)
(defun ed::msgbox (fmt &rest args)
(multiple-value-bind (result data)
(dialog-box
`(dialog 0 0 ,*dialog-width* ,*dialog-height*
(:caption "msgbox2")
(:font 10 "MS Pゴシック")
(:control
(:button IDOK "OK" #x50010001
,(- *dialog-width* 40 2 40 1) ,(- *dialog-height* 14 3) 40 14)
(:edit view nil #x50b110c7
1 1 ,(- *dialog-width* 2) ,(- *dialog-height* 1 1 19 1))
))
(list (cons 'view
(substitute-string (apply 'format nil fmt args) "\n" "\r\n")))
nil)
:ok))
(ed::msgbox "~A" 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
- delete-file を :recycle t で実行すると変な挙動をするんだけど 仕様?
d:/aaa/b.html, d:/aaa/b_files の構成で
(delete-file "D:/aaa/b.html" :recycle t) を実行すると、d:/aaa の
中が空になる。 :recycle nil だと、b.html だけが削除される。
- ちょっと訂正
× d:/aaa/b_files
○ d:/aaa/b_files/
b_files フォルダには、ファイルも存在するです。
- 仕様というか、シェルを使用した削除(ゴミ箱に削除)だと
windowsのフォルダオプションが効いてしまうんでないかな?
- windows のフォルダオプションって何ですか?
エクスプローラのやつじゃないですよね。
- 普通のWindowsはシェル=エクスプローラよ
XPにだけフォルダオプション>表示>詳細に「Webページとフォルダを対にして管理します」があって動作を制御できるみたいね
2kやVistaには項目がなくて強制っぽい レジストリにあるかも知れないけど
単純に名前でhtmlファイルとフォルダが関連づけられてるらしい
- >>423
トンです。
2k だったので気づかなかったす。
- 自作lispを気軽に公開できる場所ってありますか?
- >>425
XyzzyWikiは?
- ここか
ttp://xyzzy.s53.xrea.com/wiki/
ここ
ttp://pc12.2ch.net/test/read.cgi/win/1209098133/
- wikiってどこに投稿すればいいんでしょ?
ぱっと見どこに投稿すればいいのかわかりませんでした。
ジャンルわけとかされてないんですかね?
- >>428
http://xyzzy.s53.xrea.com/wiki/index.php?FrontPage#y961dba1
の
> 拡張lisp
> ある程度まとまった拡張lispはここに収容されています。
> tips
> あまりまとまらないlispはここに収録されます。siteinitや.xyzzyの俺仕様な部分を皆に自慢しちゃいましょう。
> trash
> 日常的には使わない一発芸的なlispはこちらへ…宿題課題などの成果物とか。
とか?
- まとまったlispかどうかの判断も難しいところですが、
自分がwikiの利用方法を理解していないため気軽には投稿できなさそうです。
ちなみに自分の言うジャンルわけとは、編集、ファイル操作、ウィンドウ操作
などlispの動作によるジャンルわけのことです。
- ディレクトリ分けよりタグ付けの時代ですぜ
- >>366 です。
今更ですが、一通りできたので晒させてもらいます。
[インストール方法]
NetInstaller用 Packeges.l
http://ironsand.net/misc/packages.l
pythonが使える環境なら
FTP-file-handling を
pythonが使えない環境なら
FTP-file-handling-with-exe を選んでください。
機能的には同等ですが with-exeには
py2exeで作ったexeもろもろが入ってます。サイズが5MBほどあります。
xyzzyを再起動するとインストール完了です。
[使い方]
まず初めに [M-x:ftp-config] で初めから設定されてる Dummy を書き換えて
FTPサーバを登録してください。
ftp-openでサーバ上のファイルを開き編集できます。
ftp-saveで編集したファイルをアップロードできます。
初回動作時にサーバのファイルリストを取得しますので
ディレクトリ数が多いとかなり時間がかかります。(数分ぐらい?)
他のソフトでサーバのファイルを変更すると
内部で保存してる一覧と食い違いが出てきますので
たまにftp-refresh-filelistで一覧を更新してください。
- lispをWebで勉強し始めて10分。
よくわからん。
C言語のほうが簡単ですね。
- 10分でC言語が理解できるようになるWebサイトを教えてくれたのむ
- Cの知識があればlispなど10分と思ったんだろう
- lispはconsセルを意識しながらやっていかないといけないから難しいよね。
cons と list と append で混乱するw
あと quote をCのポインタのつもりで理解しようとして何度も挫折したり…
でもなんども挑戦してちょっとずつわかって来た時は嬉しかったなぁ。
- なんというか10分読んでとっつきにくそうだなというのが
第一印象。
別に10分でマスターできるとは思っていません。
まあ、ぼちぼちとやっていこうと思うけど、目的がないと
続かないな・・・
ちなみに仕事は組込みソフト関係で、Cをやってます。
みなさんはlispを勉強して、つかえるようになった後、
どういう場面で使ってますか?
- そりゃxyzzyの拡張だろう
- 目的がないのに覚えるためだけに覚えるんじゃ何事も成し難いと思うよ
- 関数型言語のlispと手続き型言語のCじゃ考え方が全く違うから、Cの知識はむしろ邪魔になるかもね。
CommonLispなら手続き型な書き方もできるけど、綺麗には書けないよ。
- でも公開されてるxyzzy lispも普通の手続き型みたいな書き方してる人多いから
そんな気にしなくていいんじゃないの
- Lisp は関数型言語ではないってダグも言ってたじゃん
- >>432
wikiのパッケージ一覧に申請しといてやったぜ。
- >437
時々テスト用データ(csvとか)作るのに使ってる。
(真っ先に憶えたのがdotimes & formatだったり)
- 使い捨てだけど長くなるSQLを生成する時とか
冗長なVBのコードを生成する時とか
- 拡張した機能を、標準機能と区別なく使えるエディタって他になにがあるだろ。emacsはよいのだけど、軽快さとdllの扱いで落ち着けなかった。
lispである必要はないんだけどな。
xyzzyは、やりたいことができたときに、大抵なんとかできるのがよいよなぁ。
- >>446
「標準機能と区別」ってのが何のことかわからんのだけど、 jEdit あたりも相当無茶ができる。
「lispである必要はない」といってもさすがに Java は無いかもしれんが。
- elisp を変換するプログラムがほしいなぁ
- やっぱりみんなemacs使いなのかな
- xyzzy 好きだけど emacs の elisp はいろいろ試したいから
- javaでもかまわないさ。どんなか一回ためしてみようと思うよ。
標準機能も、基本的に拡張と同じ方法で実装してあるから、xyzzyなんかは無茶ができる感がはっきりしていていいんだよな。
- jeditはarmed bear CLが使えるんじゃなかったっけ
正真正銘フルスペックのcommon lisp...
- xyzzyは「マクロから直に」WinAPIを叩ける強みがある。
コレを実現してるエディタは本当に少ない。
大抵のエディタは外部dllを作ってやる必要がある。
まぁdllが必要になるケースは限られてるし、xyzzyでも場合によりdllが必要ですが。
- >>452
おっ、乗り換えようかな。
- >>454
ごめん俺ごっちゃになってたかも知んない
jeditが今現在abcl使えるかよくわからんかった
javaのコードから呼び出すとかいうことになるのかもしんない(ならclojureもkawaもjrubyでもなんだもいけるはず)
こっちじゃなくて、j the editorというのが別にあるのね
http://armedbear-j.sourceforge.net/
- >>448 今やってるんだ
- netinstallerでインストールされる拡張Lispの置き場所を$XYZZY/site-lispから
ユーザのホームディレクトリ以下($HOME/.xyzzy.d/lispとか)に変えるのって大変?
Firefoxみたいに、ユーザごとにインストールできたら嬉しいんだけど。
- 拡張Lisp自体を~/site-lisp/から移すのは割と面倒だよ。
ni-autoloadでは、~/site-lisp/ni-autoloadに入ってる
*.lに対応するモジュールが呼び出されることになってる。
そのディレクトリはni::*autoload-directory*で決められてるから、
それをユーザごとに変更すれば良いと思う。
- そうですか。xyzzy本体のフォルダごとユーザに持たせた方が楽そうですね。
- ~/site-lisp/ ではないよ。
それだと、ユーザ毎のホームディレクトリ以下ということになっちゃう。
- user-homedir-pathname と si:system-root の混乱はどうにかして欲しいが
混乱してる故にユーザとしては同じにしてしまうのが無難
そして混乱が再生産される
- ああ、~/はユーザのホームディレクトリか。勘違いしてた。thx
load-libraryはsi:system-rootから探すから面倒なんだな。
- 誰か三行でまとめてよ。
- load-libraryだけなら*load-path*にユーザごとのホームを追加すりゃいいと思うんだけどちがうの?
- *load-path*忘れてました。これで出来るはずですね。
(push *load-path* "~/site-lisp")
(setq ni::*autoload-directory* "~/site-lisp/ni-autoload")
(setq ni::*install-directory* "~/")
- >>465
push の引数が逆になってるよ。と一応つっこんでおく。
- >このスレを見ている人はこんなスレも見ています。(ver 0.20)
>xyzzyの使い方が分からぬやし 励ましあえ その12 [ソフトウェア]
>SONY Blu-ray ブルーレイレコーダー Part56 [AV機器]
>xyzzyの使い方が分からぬやし 励ましあえ その12 [ソフトウェア]
>【テレビ愛知】荒井千里3【スイカップ】 [アナウンサー]
>関数型言語ML (SML, OCaml, etc.), Part 6 [プログラム]
>【テレビ愛知】荒井千里3【スイカップ】 [アナウンサー]
これ誰だw
- このスレの人はみんな真面目だなあ。
- 専ブラだと反映されないんだっけ? 仕組みよくわかってないんだけど
UA詐称すれば2ch-modeで見てても反映されるのかな。
- aborn.lは連鎖あぼーんはやってくれないですか?
- 最近、KamailG でメールの未読情報が正しく
表示されないんだけど、うちだけ?
- >>317
終了時保存して起動時に復元されたバッファだと一度表示してみてからじゃないと
補完されないみたいです
- In my opinion, Klein would be well advised to use her tremendous energy to work on helping turn the country local and addressing concrete problems such as food, energy and transportation. ,
- これは記念すべきレベルの誤爆
- というか荒しでしょ。他スレにも似たようなの来てるし。
- あ、そうなの?
この板このスレしか来ないから知らなかった。
- 板というか、ネット全域にわたる仕事みたい
俺の個人掲示板にも来てるから
- There is no plan nor capital for a so-called electric economy. ,
- >>477
へぇ、そうなんだ。
他のところで見た事無いなあ。
>>477に憑いてる幻覚じゃないよね?
- 自分が見たこと無いからって全否定とか
- どうでもいいけど幻覚って人に取り憑くものなんだろうか。
- …軽い冗談書いたつもりなんだけど
わかりにくかったか、ごめん。
- どんな冗談のつもりだったのかさっぱりわからんちん
- かさにかかったバカが滑ったようにしか見えないけどな
- これは記念すべきレベルの誤爆(キリッ
とか言ってみたら全然ズレてたから悪あがきしただけじゃないですか。
- xyzzyを中国語OSにインストールすると、ShiftJISはもちろんUTF-8Nのテキスト
データも化けます。
なんとなくxyzzyのデフォルトのエンコードを、例えば日本語OSなら明示的に
SJISとせず、システムデフォルトを参照しているように思います。
なので、中国語OSの場合、GB2312をShiftJISと見なして、ファイルを開いているように
思います。
この問題に対する既知の解決策があるようでしたら、ご教示いただけませんでしょうか?
- (setq *default-fileio-encoding* *encoding-utf8n*)
中国語は big5 とかそんなんだったと思う。
- >>487 ご回答ありがとうございます。
big5は繁体で、簡体ならGB2312ですね。UTF8Nで試してみます。
- GB2312 なら *encoding-euc-gb* で。
- emacsのようにマウスだけでコピペ
(defun mouse-right-press ()
(interactive)
(mouse-left-press)
(paste-from-clipboard))
(global-set-key #\LBtnUp 'copy-selection-to-clipboard)
(global-set-key #\RBtnUp 'mouse-right-press)
というのを使おうと思ったのですが、選択後コピーされるのはいいのですが選択解除されてしまいます
選択状態を維持したままにしたいのですがどうすればいいでしょうか?
- 共通設定>さまざま>クリップボードへのコピーで範囲を
- 途中送信してしまった。
共通設定>さまざま>クリップボードへのコピーで範囲をクリアしない
にチェックを入れると良いよ。
- >>492
できましたありがとうございます!
Lispでどうにかなるんだろうと探ってたのがアホみたいだw
- NTFS代替ストリームの読み書きをするにはどうすればいいですか?
- file-name-dialogやwin32のGetOpenFileName等のダイアログでは、
代替ストリーム名を取得できないみたいなので、ミニバッファからの
入力限定で解決しました。
現在代替ストリーム書き込み時にsave-bufferが使えないので、
write-fileを使用して書き込みしているのですが、save-buffer
と挙動が違うのでできるだけ似せようとしています。
write-fileで書き込み後バッファの変更フラグを消すために
not-modifiedを使うと、使うたびに変更なしの箇所が増え、
save-buffer使用後のような変更なしの箇所が一箇所じゃなく、
複数できてしまいます。これを一箇所だけ変更なしにするには
undo/redoを繰り返して(set-buffer-modified-p t)
をしなくてはいけないのでしょうか?
- http://xyzzy.s53.xrea.com/wiki/index.php?FrontPage
ここを見ながら今やっています
netinstallerを使うで
NetInstallerにサイトを登録する †
これで準備はすべて終わりです。実際に使ってみましょう。おもむろに
M-x netinstaller
と入力します。するとNetInstallerのモードになります。すると、下みたいな画面になるはずです。
と書いてあるのですがおもむろに入力となっていますが詳しい人に説明するなら
説明するまでもないことなのかもしれませんが初心者をないがしろにしていませんか?
正直ふざけんな!!!って思いました
あまりにも不親切
今日適当にエディタを探していたらxyzzyを発見してかっこいいなという理由でホームページの編集
にでも使ってみるかと思ってやっていたのですがもうやる気なくしました
環境を作る段階でこれでは先が思いやられます
恐らく恐ろしく省かれて説明されてるんだなと容易に想像ができます
”おもむろに”←なんだこれは
敷居が高いソフトとは知っていましたが本当に高いんですね
それだけです
言いたいことは
もちろんこれはもう消します
- xyzzyはおもむろに使わないでどう使うんだ?
- まあ確かに M-x が Alt + x の意味だと知らんとどうしようもないな。
wiki を見てみたけど、すぐ目に付く位置にはなさそう。
長文で文句たれるまえに「M-x ってどこに入力するんですか?」って聞きゃ良かったのにね。
- http://ohkubo.s53.xrea.com/xyzzy/
outline-tree2でインストール1にあるtreeview.dllを導入したいのですが
ダウンロードした後どうすれば導入できるのですか?
- 20分ぐらい待てよwwww
- Quicktourを頭から読めば分かるようには書かれているんだがな。
本当にすぐ使いたい人向けに、要点だけ書いたものがあった方がいいのかね。
- すぐ目に着く位置じゃないかもしれないが、検索しようぜ
http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=%CD%D1%B8%EC%BD%B8%2FM-x&word=M-x
- >>499
treeview.dllだけを取り出してxyzzy.exeと同じ場所に置く
でもおすすめはnetinstallerでインストールする方法。
- 聞いてることには答えてくれないのですね
なるほど
- そのnetinstallerでインストールする方法を教えてください
ってなるわな・・・
- >>503
treeview.dllだけを取り出してとありますがそれ以外にもたくさんファイルがありましたよ
それらはどうするんです?
そこまで説明してほしかった
- >>506
頑張ってくださいね( ^ω^ )
応援してます
- ここにいる方は頭はいいのでしょうが
そのせいか素人に対する説明は上手ではないですね
それが敷居を高くしている原因のような気がします
1から10まで説明してくださいとは言いませんがせめて7くらいまでは
説明してくれても罰は当たらないと思いますがね
- ああ>>496の人か。
ごめん答える気になれんわ。
- 前レスで新しい人が増えないとxyzzy自体が衰退してしまうという内容のレスがありましたが
なるほどなって思いますよ
単純に人に教えるのが下手なんでしょうね
改善されたほうがいいかと思いますね
- いや、もう答えてくれなくていいですよ
以上です
- まず、今どんな状態か想像できない。
.xyzzyに書いた設定がちゃんと反映できる?
できるなら、wikiのQuickTour/ext/NetInstallerをちゃんと読めば設定できるはず。
- 読んでいるのでね
読んでわからないからここで聞いているのですよ
今日はもう寝ます
もしかしたら明日またチャレンジするかもしれません
- >>510-511
首だけじゃなく少しは頭もひねろうや。ほんと香ばしいやつだな。
おまえ自身が一番問題だってことに早く気づけ。エロ動画貼ったら
サルでもわかるように説明してやんよ。ギブアンドテイクは常識だろ。
- 基本設定済みxyzzy http://sourceforge.jp/projects/packaged-xyzzy/
なんかいろいろ入った状態で配布してるみたいだけど、netinstallerは入ってない?
- >>513
土日はサポセン休みなので
また月曜日に来てね (´∀`*)ノシ
- おもむろにクソワロタwww
- 試行錯誤結果の情報を、ぜひ第二の貴方のためにまとめて公開を♪
- http://xyzzy.s53.xrea.com/wiki/
まず左端にある目次?の構成からしてわかりにくい
本当に初めての人を意識しているのだろうか
まとめサイトとしてはある意味すごい
すごい敷居が高い
利用者が増えるわけがない
- http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour/intro2
上のページにあるヘルプを見るという部分ですが
そこにヘルプを開いた画面が表示されていますが
この段階ではまだ真っ白のはずですよ
なにも入ってないはず
こういうことは初心者はすごいいやなんですよ
あれ?ってなるんですよ
まず不信感を持ちますね
こういうことで見限ってやめていく人もけっこう多い
- 今ほど情報が無いころに導入して、ひ〜ひ〜言いながら
使い方覚えた俺からすると
あんた文句多すぎだわ
自分で(>>496)言ったように、もう消した方がいい
- 伸びてる!これは神lispの予感…!
と思って来たらガイキチか。
みんなとっととNG放り込んで無視しとけ。
- お父さんかお母さんに聞けばいいのに…
- 僕も悪かったな
環境はxpのsp3です
xyzzyを選んだのはかっこいいと思ったからです
よくわかりませんがxyzzyでHTML CSS XML perlスクリプトをやってみたいです
そのための環境作りをしている最中なのですが説明サイトが歯があちらこちら抜け落ちたような
状態なようで初心者の僕には分からないことが多くいらいらしながらやってます
ご指導よろしくお願いします
- >>524
初心者かどうかじゃなくて、人格の問題。
だから、どんな指導を受けても絶対に使えない。
諦めてください。
- xyzzyは、勘とドライブ感で疾走するエンターテイメントのついでに、実用性もくっついてるものです。
楽しめないならやめたほうがいいよ。
- その程度でイライラするくらいなら
悪いことは言わん
違うエディタを探したほうがいい
- ちゃんとwikiのメニューの頭から順に“一行も飛ばさずに”読めば使える。
導入するところが一番簡単だから、それが出来ないんだったら向いてない。
新しい機能を試そうとするたびに同じくらい苦労するよ。
導入しやすくてクールな環境ならvimとかeclipseを薦めるから考え直すと良い。
- 秀丸を使えば良いよ
- ウホッ 何かおおきな動きがあったのか!
っと思って覗いてみたらこれか…
- みんなちゃんと見てるってわかって安心した
- 結局>>495のnot-modifiedの件は不可能ですか?
- >>532
代替ストリームの読み書きなんてやったこと無いんで何とも言えないんだけど
差し支えなければ件のコードをアップしてみたら?
- >>495 は代替ストリーム云々はさておいてwrite-fileの問題だろ。
write-fileで呼び出してるwrite-regionもsave-bufferもbuiltinだから
ソースを当たらないと手が出せないと思う。
info-modokiで調べた限りでは >>495 のやり方しか思い浮かばなかった。
undo情報に直接触れたら便利なんだけどな。
- 久々に伸びてると思ったらおもむろにで笑ったw
ただ住人がたくさんいることはわかって安心した
- おまえらがxizzyを使ってる動機って何?
1年も使っといてこんなこと言うのもなんだけど
xizzyの利点がハノイの塔くらいしか思い浮かばないんだ…
- 昔から使ってるから
今はもっといいのあるんだろうけど自分用のスクリプトをまた書くのめんどい
- 五目並べだろ
- 今さらelispには戻れんよ。拡張dll導入してwindowsを使い倒せるemacs系エディタはxyzzyしかないし。
- >>536
他のは使いにくいから
- 新しい評判のエディタが出るたび、試しているけど
xyzzyの方が快適で移行する気にならなくなる
いろんなバランスが絶妙すぎる
- 2ch-mode専用機
- 2ch-mode,mua,irc client,メモ帳,電卓専用機
- xyzzyで@"\"をなんとか実現できないものかといつも悩むが
機能的にも速度的にも代わりになるエディタが未だに見当たらない。
- > @"\"
なにこれ?
- >>545
C#のエスケープ文字が一切聞かないすごい文字列リテラル。
Windowsのパスを表記するのに便利。
string dir = @"C:\hoge\bar\baz"
- google Go言語モードとかないですか?
- XULRunnerベースのテキストエディタが出てくれれば乗り換えるんだけどな
- >>546
なるほどねぇ。
詳しいことは知らんが、
リーダーマクロってやつを使えばできるんじゃない?
- >>546
適当に書いたけど、こんなの?
(defun read-string/ignore-escape (stream c0 c1)
(let ((result (make-string-output-stream)))
(do ((c (read-char stream) (read-char stream)))
((char= c #\") (return (get-output-stream-string result)))
(write-char c result))))
(set-dispatch-macro-character #\# #\" #'read-string/ignore-escape)
#"C:\foo\bar\baz.txt"
;-> "C:\\foo\\bar\\baz.txt"
- >>550
たぶんだけど>>544が欲しいのは@"\"をちゃんと閉じた文字列と認識して
色分けしてくれる昨日だと想う。
今のxyzzyだと\を認識してしまい文字列が閉じていないと判断し、
これ以降ずっと文字列扱いになってしまうはず。
- >>551
それは正規表現キーワードで、お茶を濁すもんかと。
しかしまぁ、 544じゃないと実際何がほしいかは分からんが。
- >>551
そうです、それ以降が全部文字列扱いになるのを何とかしたいのです。
結構起きやすくて。
>>552
適当に書いてみたらうまくいったっぽい。
(defvar *csharp-mode-formats*
(compile-regexp-keyword-list
'(
("@\".*?\"" t :string)
)
)
)
(setq regexp-keyword-list *csharp-mode-formats*)
(add-hook 'csharp-mode-hook 'my-color-csharp-mode)
(defun my-color-csharp-mode ()
(make-local-variable 'regexp-keyword-list)
(setq regexp-keyword-list *csharp-mode-formats*)
)
- >>553
@"hoge" foo @"bar"
でも正しく色づけされる?
- 通常の文字列の処理が先にされてる感じでうまく行ってなかった。
- 行カーソル表示中で (setq inverse-cursor-line t)
にしてから上へカーソル移動すると、右側に小さな点が残るのですが、
これって環境依存的なものですか?それとも不具合なんでしょうか。
- >>556
たぶん不具合。
行カーソルと折り返しラインの交差するところが反転したままになっている感じ。
- >>555
- ("@\".*?\"" t :string)
+ ("@\"[^\"]*\"" t :string)
- >>557
小さい箇所ですが一度気になると液晶のドット欠けみたいに意識しちゃうんですよね。
修正される見込みもないので、素直に inverse-cursor-line を使わずに
フォントを変えるなどして見ようと思います。
- lisp について質問です。
キーバインド一覧などのように変更を加えても
「保存してませんよ」ダイアログが出ないようにするためには
bufferのどの値を変更すれば良いのでしょうか?
- 直接的には (setq need-not-save t) だね。
メニューからなら、ツール>ローカル設定>もろもろ>保存してなくても文句を言わない
キーバインド一覧みたいなのは setup-temp-bufferで一括指定してる。
- >>561
ありがとうございます。
期待通りの動作ができました。
- 今日は ggrep-dialog が大活躍した日でした。
- (defun hoge ()
(let ((a '(1)))
(push '2 a)
(push '3 a)
(nreverse a)))
(hoge)を評価すると初回は(1 2 3)が返ってくるのですが、
2回目以降は(3 2 1 2 3)が返ってきます。
nreverseは破壊的とありますが、それは変数aに対してであって
返り値には影響しないと思っていたのですが違うんでしょうか?
- letとpushの間に(princ a)入れると、
二回目は(1 2 3)が出力されるから、
nreverseによる破壊が変数にされてるという点は正しい。
letがこういう動作なのが仕様かバグかは知らない。
誰か教えて。
- 下のだと、二回目以降も (1 2 3) だから、quote がいかんのかな?
(defun hoge ()
(let ((a (list 1)))
(push '2 a)
(push '3 a)
(nreverse a)))
- 定義するときにデータそのもので与えてるとそうなる。
最初に '(1) で指示しているデータが nreverse で置き換わってしまう。
無名の変数に格納されてると考えるとわかりやすいと思う。
回避するには、非破壊関数を使うか、(list 1) として毎回作り直すようにすれば良い。
- ああ、キャッシュされるリテラルを書き換えてるってことか。
納得。
- ありがとうございます。
なんとなく理解できた気がします。
あまり(list 1)や'(1)との違いを意識してなかったので、
とまどいました。
- 文字コードの判定が下手なのが改善されたバージョンって
出る予定とかないですか?
あと64bit対応版とかも
- >>570
どんな判定が問題?
個人的には、asciiのテキストを読み込んだときに、
sjisを仮定するのを変更出来たら嬉しいんだけどなぁ。
もう普段からutf-8nしか使ってないので。
自動判別自体は、失敗したことが無いのでわからない。
- >>571
SJISとUTF8Nしか使わないんだけど、UTF8Nを読み込んだらSJISになる
ことがある。Windowsのメモ帳だと平気。
- テキスト本文に細工が可能なら、
(半角スペース)♀(半角スペース)
を含めた内容をテキストの冒頭に入れておくと、判別に成功するかも。
- 誤判別じゃなくて、単なるデフォルトの問題なら、
*default-fileio-encoding*
でいけるはず。
- テキスト本文の加工は無理です。なのでsjisかutf8の2種類だけ判別できればいいのですがlispの書き方が分からなくて・・・
- 追記
(change-default-fileio-encoding *encoding-utf8n*)
と書いてもsjisと誤認されてます。
- >>574
おお、わりといけました。ありがとうございます。
[siteinit.l]
(setq *default-fileio-encoding* *encoding-utf8n*)
(setq *default-eol-code* *eol-lf*)
実行結果
*scratch* → sjis:crlf(残念)
新規作成 → utf8n:lf(ナイス)
0バイトのファイル → utf8n:crlf(ちょっと残念だがおk)
ASCIIのファイル → utf8n:crlf (元の改行コードのまま:正常)
というわけで、おおむね満足できそうです。
- もうちょい後の方まで読んで文字コードを判別して欲しいと思うことはよくある。
ファイルの先頭に巨大なスキーマが入っているようなxmlを自動判別させることが出来なくて。
>572
ここではあまり関係ないけど、メモ帳でUTF8Nを開くまではいいけど、
迂闊に保存するとBOMが付いてUTF8を読めないJavaが痛いことになる。
- >>578
もう少し後ろのほうまで読んで判別するように改造されたバージョンって
作れないものでしょうか? ソースコードはあるわけですから。
- >>577
scratchは指定の方法が違うんだよね。
ttp://www.bookshelf.jp/2ch/win/1053880433.html#313
- 探してみても見つからなかったので、ちょっと確認させて下さい。
xyzzyのバッファの切り替えを、バッファ名でインクリメンタルに切り替えたいと
思っているんですが、そういったlispってないですよね?
(ないようなら、自作しようと思うんですが、あったら楽したいな、と。)
あとapiを叩かずに、バッファ名を表示するタブのエリアを、2行表示にすることは
できないですよね?
- >>581
iswitchbのことならいくつか公開されてるはず
- >>582
emacsではiswitchbっていう拡張なんですね。
勉強になりました。ありがとう。
しかし・・・既にないものと思っていい加減に実装した後でした。(T_T)
でもありがとう。いい加減でない実装の勉強に使わせてもらいます。
- >>581
anythingも実装されていますよ。
検索すれば見つかるかと。
- >>584
anythingの情報、ありがとうございます。
あとで試してみます
- メニューバーに動的なメニューを追加することって出来ますか?
具体的にはEmacsのようにメニューバーからバッファ選択をしたいんですが
今のところ、メニューは作成したけど
(defun popup-buffer ()
...
(track-popup-menu menu :button1))
(add-menu-item *app-menu* ':buffer "バッファ(&B)" 'popup-buffer)
これだとメニュー位置でなくてマウス位置にメニューが出るので
通常メニューの挙動と違うってことで、別の方法を探しているところです。
- >570
x64は呼び出し規約がレジスタ渡ししかないので、
eval.cc の funcall_builtin() でやってるようなトリックが使えないので
移植はめんどいと思われます。
x86でも、VS2008の既定のデバッグビルドオプションでも動かないんだけど('A`)
- >>586
コマンドからapp-menuの項目を開きたいってことならcall-menuって関数があって
(call-menu 0)
を評価するとファイル(&F)をクリックしたのと同じ状態になる
引数はおそらくメニューのポジション
- twitter-modeでNGワードとかNGIDとかを実現したい。
- よし、いろいろやってたらtwitter-modeの表示を少しずつ弄れた。
NGワードとかはよくわからなかったけど、このまま行く。
- 編集前のバッファにおいてポップアップを使って補完した場合、その直後は、
タブに表示される変更マーク "*" が追加されなくなったんですが同じような
症状の人います?
具体的には、
(setq *popup-completion-list-default* :always)
して xyzzy を起動直後に *scratch* で ESC + TAB で補完した場合とかです。
(refresh-screen) が効いていないような状態です。
- xyzzyのIRCチャンネルはありますか?
- >>588
コマンドからメニュー操作することは重要じゃないんですよねー…
[ファイル(F)] [編集(E)] [検索(S)] [表示(V)] [バッファ (B)] [ウィンドウ(W)] [ツール(T)] [ヘルプ(?)]
メニューバーが上のように並んでいる際に [バッファ(B)] をクリックすると
現在のバッファ一覧を動的に作成してメニュー表示されて欲しいんですが
>>586 のようにするとメニューの表示が他と (以下略
ともあれアドバイス感謝です。
- >>593
>>586 をもとに作成するならばこうかな。
(defun popup-buffer ()
...
menu)
(add-popup-menu *app-menu* (popup-buffer) "バッファ(&B)")
任意の場所に挿入するなら insert-popup-menu を使用。
- >>593
(in-package "editor")
(defvar *buffers-modified-p* nil)
(defvar *buffers-menu* nil)
(defun add-buffers-menu (menu buffers fn)
(when (menup menu)
(while (delete-menu menu 0 t))
(do ((buffer buffers (cdr buffer))
(count 1))
((null buffer)
t)
(unless (string= (car buffer) " " :start1 0 :end1 1)
(let ((buffername (car buffer)))
(insert-menu-item menu (1- count) nil
(abbreviate-display-string
buffername *menu-display-length* t)
(funcall fn buffername)))
(incf count)))))
(defun modify-buffers-menu ()
(add-buffers-menu *buffers-menu*
(mapcar #'buffer-name (buffer-list))
#'(lambda (buffername)
#'(lambda ()
(interactive)
(set-buffer (find-buffer buffername))
(setq *buffers-modified-p* nil)
t))))
- >>593(続き)
(defun init-buffers-menu ()
(setq *buffers-menu* (create-popup-menu ':buffers-popup))
(modify-buffers-menu)
(insert-popup-menu *app-menu* 4 *buffers-menu* "バッファ(&B)"))
(add-hook '*init-app-menus-hook* 'init-buffers-menu)
(add-hook '*create-buffer-hook*
#'(lambda (buffer) (setq *buffers-modified-p* t)))
(add-hook '*delete-buffer-hook*
#'(lambda (buffer) (setq *buffers-modified-p* t)))
(add-hook '*post-command-hook* #'(lambda ()
(if *buffers-modified-p*
(modify-buffers-menu))))
(add-hook '*activate-hook* 'modify-buffers-menu)
(in-package "user")
バッファタブからバッファを消したりする時など問題があるので、
その該当の関数に(modify-buffers-menu) を加えると多分できる。
フックに引っ掛けてメニューを書きかえているのであまりお勧めしない。
- 強引に行くならこうかな。
何か副作用あるかもしれないけど。
(defvar *buffer-list-popup-menu* nil)
(defun add-buffer-list-popup-menu-item (&optional all)
(let ((buffer-list (buffer-list :buffer-bar-order t))
(i -1))
(flet ((make-name (string)
(format nil "~A(&~C)" string (code-char (+ (char-code #\A) (rem (incf i) 26)))))
(make-command (buffer)
#'(lambda ()
(interactive)
(set-buffer buffer))))
(add-menu-item *buffer-list-popup-menu* nil
(make-name (buffer-name (car buffer-list))) (make-command (car buffer-list))
#'(lambda ()
(while (delete-menu *buffer-list-popup-menu* 0 t))
(add-buffer-list-popup-menu-item all)))
(do* ((buffer (cdr buffer-list) (cdr buffer))
(name (buffer-name (car buffer)) (buffer-name (car buffer))))
((or (not buffer)
(unless all
(string= name " " :start1 0 :end1 1))))
(add-menu-item *buffer-list-popup-menu* nil (make-name name) (make-command (car buffer))))
t)))
- (defun init-buffer-list-popup-menu ()
(setf *buffer-list-popup-menu* (create-popup-menu 'buffer-list))
(add-buffer-list-popup-menu-item)
(insert-popup-menu *app-menu* (get-menu-position *app-menu* 'window)
*buffer-list-popup-menu* "バッファ(&B)"))
(add-hook '*init-app-menus-hook* 'init-buffer-list-popup-menu)
- 起動時に特定のメジャーモードにして起動するってできます?
具体的には、起動したらtwitter-modeが始まってると嬉しいんですが。
- >>599
xyzzy.exe -e (twitter)
- >>600
ありがとう神!
- 愛のむきだしだな
- >>595-596
あーなるほど、毎回新規にメニューを作るんじゃなくて上書きすれば良さげですね。
Emacsだとメニューバーの更新にもフックがあるっぽいので本来ならコレを使うことができればいいんですが。。
menu-bar.el:1683: (add-hook 'menu-bar-update-hook 'menu-bar-update-buffers)
>>597-598
どこでメニューの更新をしてるのかしばらく分からなかった…再帰になってるのか。
これをしばらく使ってみることにします。
レスありがとうございました
- >>587
> x64は呼び出し規約がレジスタ渡ししかないので、
この辺詳しくないんで、自分で調べてみたけど分からんかった。
ソースプリーズ。
x64 でレジスタが倍増したから、レジスタ渡しを積極的に使うのはある
だろうけど、それしかできないの?
だとしたら、可変長引数が x64 ではサポートできないような。。。
- まさか。
例えば引数が30個の関数って定義出来ないんだっけ?
- http://msdn.microsoft.com/en-us/library/zxk0tw93.aspx
x64 では __stdcall はエラーにならないが無視される。
Parameter Passing http://msdn.microsoft.com/en-us/library/zthk2dkh.aspx
Varargs http://msdn.microsoft.com/en-us/library/dd2wa36c.aspx
- 一切同様の報告が見当たらなくて困ってるんですが
Windows7Pro32bitでOutline-tree2とかbuffer-bar-click-to-deleteとかDLL使うのを呼び出すと
「致命的な例外(Access violation)が発生しました。」と、強制終了してしまいます。
基本設定済みxyzzyも試しましたが、同様に初回のダンプ中に落ちてしまいます。
当然と言えば当然ですが、XPModeでは落ちないです。
どなたかXPMode以外で解消方法はご存じないでしょうか?
- DEPが有効になってると落ちた気がする。
Vista以降はDEPがデフォルトで有効だったと思うのでxyzzyを例外に追加してるよ。
- >>608
直りました。ありがとうございます。
Vistaからの現象だったんですね。Windows7キーワードに入れて必死で探してました。
- javascriptの `/' で囲まれた文字列を正しく色付けさせる
拡張または方法ってありますか?
set-syntax-string に `/' を指定してもコメント開始文字に
指定されているためか適用されません。
また、>>553 のように正規表現キーワードでやろうとしたんですが、
/'/ のような表現の場合、' 以降が文字列として扱われて
しまいうまく色分けができません。
-
javascript 知らないしよく分からんが
("/[^/\n]+/" nil (:color 3 0))
- たとえば /[^/]/ は全体が正規表現リテラルにならないといけないのでは。
- katexのくだ質問なんですが、
C-c t j でコンパイルが成功したら自動でウィンドウ(タイプセットバッファ?)を
閉じるようにするには、どうすればいいですか?
- 正規表現キーワードだと
var x = a / b + c / d;
みたいなのが無理
- 山本さんのinfo.lってどこで手に入りますかね?
本家らしきところは落ちてるっぽいんですが…
- >>611
その正規表現キーワードでも/['"]/ とした場合、
'や"以降が文字列として認識されてしまいます。
一応正規表現キーワードで>>612や>>614のような問題は
解決できています。
問題は正規表現キーワードで指定した文字列が
内部で文字列として扱われていないため、"'が含まれていると
そこから文字列と認識し文字列ではない部分を着色してしまうことです。
正規表現キーワードの動作はどうやらバッファ描写内のテキスト
にのみ働きかけているいるようなので、自前で"'/での着色をし
*post-command-hook* に引っ掛けるぐらいしか解法はなさそうですね。
- ttp://tomiya.bne.jp/cgi-bin/upup/src/myg_l2984.png.html
ようやくコンパイル通った。
GCでxfreeが呼ばれると死ぬけど。先は長い。
- おっー!
すごいな。独自でユニコード対応したんだ。
- >>617
ウムラウト入ってるときは
ダイアログ出して置換出来きなくて困ってたので超期待!
- どれくらいすごいのかわからない
誰か三行でまとめてくだされ
- >>620
>>315
まじめんどい。
- >>617
これは凄い。期待していいのか?
- ライセンスの勉強が終わり次第、codeplexではじまります。
- tterm.lってもう手に入らない?
- うん
- 下記スレから移動してきました。
xyzzyの使い方が分からぬやし 励ましあえ その12
http://pc12.2ch.net/test/read.cgi/software/1226425897/668
668 名前:名無しさん@お腹いっぱい。[] 投稿日:2010/02/11(木) 15:44:55 ID:MM5jmKMuP
しおりを自動的に保存して起動時によませようと書きのスクリプトを
http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/gmark-session.l
(require "gmark-session")
して.xyzzyに読ませているのですが、
しおりを再現してくれません…。他に何か必要な作業はありますでしょうか?
681 名前:668[] 投稿日:2010/02/14(日) 12:41:09 ID:kin0JteYP
>>668の件ですが、
(require "gmark-session")
と.xyzzyに記述しても、
user/(ユーザー名)/wxp/.xyzzy.history
のファイルには該当するものはありませんでした。
[共通設定]-[さまざま]の「終了時の状態を保存する」の設定にしてありますが、
gmark-sessionで動作が上書きされるものとはまた別のセッションなのでしょうか?
- 682 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2010/02/14(日) 15:28:49 ID:5oBST9efP
>>681
usr/(ユーザー名)/wxp/.xyzzy.resume.0
っていうのが「終了時の状態」のセッションファイル。
問題の原因は `restore-session' でエラーがでた場合その後の関数が実行
されないため。
gmark-session.lの45行目を
(write `(ignore-errors (restore-session ',binfo ',finfo)) :stream s :escape t)
とすればとりあえず回避できる。
後lisp関連は本スレで聞いた方がいいと思うよ。
683 名前:668[sage] 投稿日:2010/02/14(日) 15:53:06 ID:kin0JteYP
usr/(ユーザー名)/wxp/.xyzzy.resume.0 というファイルはありませんでした
Vistaだと別のところにあったりするんでしょうか。
うーん、該当箇所45行ではなく手持ちのでは42行みたいで、修正はしてみたのですが、
しおりは読み込んでくれませんでした。
どうしよ・・・とりあえず本スレに移動します。
-----------ここまで--------------
- 45行目っていうのは俺の間違いで42行目だった。
修正してもだめなら、.xyzzyの先頭に
(toggle-trace-on-error)って書いて起動。
これでエラーがあるのか確認。
xyzzy.resume.0 はxyzzyを起動してない状態で確認した?
- >>628
起動していない状態だと xyzzy.resume.0ちゃんとありました!
(toggle-trace-on-error) と書いた状態では特にエラーはなくて、
Ctrl+F2でマークを確認したところ、ちゃんとマークが再現されていました。
うまく行っていなかった部分がわかりました。
.xyzzyで以下のように書いていてmarkが保存されていないためでした。
これも一緒に保存して復元する手っ取り早い方法はないもんでしょうか?
(require "gmark")
(defmacro makbookmark (a)
`(let* (mark
(a ,a)
)
(setf (symbol-function (intern (concat "add-bookmark" ,a)))
#'(lambda ()
(interactive)
(global-mark-add)
(message (concat "しおり" a "をセットしました"))
(setq mark (car ed::*global-mark-list*))))
(setf (symbol-function (intern (concat "jump-bookmark" ,a)))
#'(lambda ()
(interactive)
(if mark
(global-mark-goto mark)
(message (concat "しおり" a "はセットされてません")))))
t))
- >>629 続き
(dotimes (i 10) (makbookmark (format nil "~D" i)))
(global-set-key #\C-1 'jump-bookmark1)
(global-set-key #\C-2 'jump-bookmark2)
(global-set-key #\C-3 'jump-bookmark3)
(global-set-key #\C-4 'jump-bookmark4)
(global-set-key #\C-5 'jump-bookmark5)
(global-set-key #\C-6 'jump-bookmark6)
(global-set-key #\C-7 'jump-bookmark7)
(global-set-key #\C-8 'jump-bookmark8)
(global-set-key #\C-9 'jump-bookmark9)
(global-set-key #\C-0 'jump-bookmark0)
(global-set-key #\C-! 'add-bookmark1)
(global-set-key #\C-\" 'add-bookmark2)
(global-set-key #\C-\# 'add-bookmark3)
(global-set-key #\C-$ 'add-bookmark4)
(global-set-key #\C-% 'add-bookmark5)
(global-set-key #\C-& 'add-bookmark6)
(global-set-key #\C-\' 'add-bookmark7)
(global-set-key #\C-\( 'add-bookmark8)
(global-set-key #\C-\) 'add-bookmark9)
- レジスタじゃダメなの?
- >>631
ありがとうございます。
レジスタもよさげなのですが、特に何も書いていない場合は起動時に保存復元等はやってくれないみたいなので、
どうしたものかと。
>>629-630 をgmark-session.lに組み込んでmarkを一緒に保存するのが手っ取り早いですかね。
ちょっとやってみようかしら。
セッションの関数を上書きしなくてもいいように、こういうときに永続化のAPIみたいなのがあったら楽だな、と思いました
- ムリでした orz
>>629からmarkをどうやって保存したものかと…
セッションではなくhistoryに保存しようとはしているんですが、それは大丈夫そうなのですが。
- ここまでできたお・・・
(defvar *gmark-bookmark* nil)
(setq *gmark-bookmark* (make-array 10))
(defun add-bookmark (index)
(interactive "nIndex: ")
(global-mark-add)
(message (concat "しおり" (format nil "~D" index) "をセットしました"))
(setf (aref *gmark-bookmark* index) (car ed::*global-mark-list*)))
(defun jump-bookmark (index)
(interactive "nIndex: ")
(let ((mark (aref *gmark-bookmark* index)))
(if mark
(global-mark-goto mark)
(message (concat "しおり" (format nil "~D" index) "はセットされてません")))))
(jump-bookmark 2) はOK
(add-bookmark 2) はOK
で
(global-set-key #\C-2 #'(lambda () (jump-bookmark(2))))
のようにやってみて、Ctrl+2を押すんですが、
不正なコマンドです: #<lexical-closure: (anonymous)>
とか言われてダメポ
後一歩なんだけど('A`)
- (global-set-key #\C-2 #'(lambda () (interactive) (jump-bookmark 2)))
じゃね?
- >>635
いけますた!ありがとうございます。
あとはhistoryに保存する所まで来たんですが、下記みたいに書いて.xyzzyでrequireしたら
再度起動時にxyzzyがぶっ壊れてしまいますヽ(`Д´)ノ ウワァァン!!
historyファイルバックアップとってあったから助かったですが・・・
ヒストリーに配列入れたら駄目なんでしょうか?
; gmark-bookmark.l
(provide "gmark-bookmark")
(in-package "editor")
(require "gmark")
(export '(*gmark-bookmark* add-bookmark jump-bookmark))
(defvar *gmark-bookmark* nil)
(setq *gmark-bookmark* (make-array 10))
(register-history-variable '*gmark-bookmark*) ; ←これ!!
;(add-hook '*post-startup-hook* 'set-gmark-bookmark)
(defun add-bookmark (index)
(interactive "nIndex: ")
(global-mark-add)
(message (concat "しおり" (format nil "~D" index) "をセットしました"))
(setf (aref *gmark-bookmark* index) (car ed::*global-mark-list*)))
(defun jump-bookmark (index)
(interactive "nIndex: ")
(let ((mark (aref *gmark-bookmark* index)))
(if mark
(global-mark-goto mark)
(message (concat "しおり" (format nil "~D" index) "はセットされてません")))))
- historyって.xyzzyみたいにS式で直書きしてるだけだから、
直書きできる内容じゃないとだめだと思う。
普通にリスト使った方がいいよ。
- や、配列かリストかの問題じゃなくて、
中身が読み込める形で書き出せないマークだからじゃないかな。
配列は読み込めるし。
- *save-history-hook* で,マーカーを読み込める形式に変換すればいけるかも
でロード時に *load-history-hook* で元に戻す
- global-markを機能させるには先にファイルをオープンして、バッファが存在していないといけない。
*load-history-hook*じゃタイミング的に早すぎるかな。
gmark-session.l をパクってセッションファイルに保存するか、
独自形式でファイルとマーク位置を管理するのをお勧めしておきます。
- XPでxyyzyを使っているんだけど、ウィンドウを最小化したときの
ワーキングセットの縮小を抑える事って出来ないかな?
間を置いてアクティブにすると、どうしても動作がもたつくもんで。
- Zen-Coding とかいうのを xyzzy でもできるとよくね?
ttp://h2o-space.com/blog/1929
- >>641
XP なんて窓から投げ捨てて Vista/7 にしろ。
- >>642
そのサイトを見ただけだと snippet.l でよくね? とおもった。
- >>641
7に乗換えを薦めたい。
(in-package "winapi")
(setq *lpfnProc* 0)
(c:*define WM_SYSCOMMAND #x0112)
(c:*define SC_MINIMIZE #xF020)
(c:*define SW_SHOWMINIMIZED #x0002)
(c:*define-c-type u_long WNDPROC)
(c:*define GWL_WNDPROC -4)
(c:*define-dll-entry LONG SetWindowLong (HWND c:int LONG)
"user32" "SetWindowLongA")
(c:*define-dll-entry LONG GetWindowLong (HWND c:int)
"user32" "GetWindowLongA")
(c:*define-dll-entry LRESULT CallWindowProc (WNDPROC HWND UINT WPARAM LPARAM)
"user32" "CallWindowProcA")
- (c:*defun-c-callable LRESULT workingset-trim-off-proc
((HWND hwnd) (UINT msg) (WPARAM wparam) (LPARAM lparam))
(cond
((and (= msg WM_SYSCOMMAND) (= wparam SC_MINIMIZE))
(ShowWindow hwnd SW_SHOWMINIMIZED)
(return-from workingset-trim-off-proc 0))
(t (CallWindowProc *lpfnProc* hwnd msg wparam lparam))))
(setq *workingset-trim-off-enabled* nil)
(setq *orig-wndproc* (GetWindowLong (ed::get-window-handle) GWL_WNDPROC))
(defun workingset-trim-off-enable ()
(ed:interactive)
(setq *lpfnProc* (SetWindowLong (ed::get-window-handle) GWL_WNDPROC #'workingset-trim-off-proc))
(setq *workingset-trim-off-enabled* t))
(defun workingset-trim-off-disable ()
(ed:interactive)
(SetWindowLong (ed::get-window-handle) GWL_WNDPROC *orig-wndproc*)
(setq *workingset-trim-off-enabled* nil))
(ed::add-hook 'ed::*post-startup-hook* 'workingset-trim-off-enable)
- ?
- http://support.microsoft.com/kb/293215/ja
最小化を横取りして自前で最小化すればワーキングセットのトリムを防ぐことができるのを実装してみた。
これをXP環境で入れると最小化してもメモリ使用量はそのままになる。
Vista以降は不要だし、XPでもあんまりやらないほうがいい気がする。
- しょぼマシンでXP使い続けてるがどういう症状なのかさっぱりわからん
- >>648
スゲぇ、俺もXPだし早速試してみる。
- >>649
タスクマネージャで使用メモリを見ながら最小化してみると分かるよ。
- 体感できるほど違いある?
人によるか
- 数十MB〜使ってる環境だと、かなり差が出てくるよ。
- http://wiki.himadatanode.org/index.php?xyzzy%E3%81%A7%E3%82%BD%E3%83%BC%E3%83%882
これを時々やるんだけど、「メモリが不足しています」ってエラーが頻繁に出る。
実際はメモリ8GBあるから、そういう問題じゃないのかもしれないけど謎だ。
- while ループ内で buffer-substring 呼んでるからじゃない?
これ、一行切り出すたびにfrom..toの範囲を文字列としてアロケートすることになるよ。
- buffer-substring 一回にしてみたけど
どうかな?
(defun sort-line-region (from to &optional (test #'string-lessp))
(interactive "*r")
(when (< to from) (rotatef from to))
(let ((lines (split-string (buffer-substring from to) #\LFD :ignore-empty t))
(nulpo (eql (char-before to) #\LFD)))
(delete-region from to)
(insert (format nil "~{~A~^\n~}~@[\n~]" (stable-sort lines test) nulpo))))
- そろそろ新しいバージョンでないの??
- >>656
ありがとう!すげえサクッと終わるようになった!
- (ガッ '>>656)
- ワロタ
- 今初めて知ったけどgc関数ってオプショナル引き数1個取るんだな
(ed::ldoc-string 'gc 'function)
-> "gc (&OPTIONAL NO-MESSAGE) : not documented funciton"
- xyzzyのメンテナっているの?
- オリジナルは何年も更新されてないけど、最近は packaged-xyzzy ってのがあったような。
- ホントだw
はじめて知ったわ
- Unicode対応化作業をしてる人は諦めちゃったのかなあ、
期待してたんだけど…。
- glyph_t を __int64 にしないと文字が収まらないけど無駄が多くなるなぁ、とか
cp932 も変換テーブル用意しないとなぁ、とか
DDEわけわからん、とか
いろいろあって進んでません…
- 無駄が多くなっても64ビット版のパフォーマンスが上がりそうとか思った。
- 以前も誰か内部に手を加えてたけど、途中で見かけなくなった。
正直一人でxyzzyを修正及びメンテしていくのは大変。
もし、今後もxyzzyを長く使っていくなら使用者同士で協力し、
負担を分散させないと長く続かないと思う。
これを踏まえてなんだけど、今のxyzzyには協力して開発していく
基板が整ってるとは言えない。
なので基板づくりを行いたいが他の方はどう感じてるのかな?
具体的には共同で開発するために利用するバージョン管理システムを
決めたりとかからはじめることになると思うけど。
- 今まではなんとなく、いつかきっとKameiさんが帰ってくる!
とか思ってたからあまり内部とかには手をいれるつもりなかったけど、
正直ここまで更新ないと作者本人も簡単に手を出せる状態じゃ
なくなってるのかもしれない。
自分はLispとかで拡張してたけど限界を感じてきたので、
出来る限り協力したい。
- >>668
githubのやつは??
- ニーズが少なきゃやる気も沸かんだろ
- 連想リストの動作がわからないので質問させてください。
これだとメモ帳を開くことができるのですが、
(make-process "notepad.exe" :environ '(("HOME" . "c:/home")))
これだと「不正なデータ型です: *home-dir*: string」のエラーになってしまいます。
(setf *home-dir* "c:/home")
(make-process "notepad.exe" :environ '(("HOME" . *home-dir*)))
連想リスト内ではどうすれば変数が使えるのでしょうか?
- 協力できる物ならしたいとは思うんだが
いかんせんC言語系はさっぱりなんだな
>>672
(make-process "notepad.exe" :environ `(("HOME" . ,*home-dir*)))
- >>672
連想リストじゃなくて、クオートの問題
- >>673-674
なるほど、 クォートだと内部のS式が展開されないので
バッククォート と コンマ を使えば良いんですね。
ありがとうございます。
- 先日発売された竹内先生の『初めての人のためのlisp』は
common lisp に準拠しているようなのですが
xyzzyでそのまま使えるのでしょうか
- >>676
入出力でちょっと引っかかる所がありそうだけど
ほとんどxyzzyのスクラッチ上で行けそうに見える
- >>677
ありがとうございます。
早速やってみます
- レポートしてよ
- >>668
昔vi-modeとか書いてた者で、本体に手を入れたのは公開した事も無いが…
以前CE移植を途中までやった時にビルド環境とか作ったのだが、今からもう一度そこまでやって開発するかは悩ましいやねぇ。
multi-frameをちゃんと対応する、くらいはやってもいいかなぁ、とは思うが、一方でそこまでやるならIntellipadにでも乗り換えるかなぁ、とか思う自分が居る。
2〜3人いじれる人がやる、と言っていれば混ざってもいい気はするが、環境が整ってるだけだと厳しい気がする。
- 将来的に複数人で触るようになるなら、ATL必須にしないほうがいいかなぁ…とか悩ましいですよね。
- >>680
>一方でそこまでやるならIntellipadにでも乗り換えるかなぁ
それはあるよね。どこまで労力をxyzzyにさけるか。
xyzzyに変わるおすすめのエディタがあるなら検討してみたいけど
あるかな?
- 積み重ねてきたものを捨てる気はしないが、
捨てるときのことを考えて、これ以上積み重ねたくもない、
という矛盾。
やってもやらなくても、どっちにしろ間違ってるんだから、
深く考えずにやりたいようにやるのが一番いいと思うよ。
- 頑張ってください
自分は使うので精一杯
- xyzzyからgvimに乗り換えようとしたけど、軽く挫折したw
何故emacsじゃないんだ!ってのは昔gvimを使ってたのとunixではvim(ほぼ素の状態)使ってるから。
さすがにカスタマイズしまくったxyzzy使っていると、あまり弄ってないvim系に乗り換えるのつらかったわ
タブ周り等がWindowsと親和性高くて、unix系のエディタばりにカスタマイズできるエディタあればねえ・・・
- xyzzyってのおすすめ
- そこで jEdit ですよ?
- USBメモリに入れて持ち歩けるように出来ないかなあと思っていたら、
xyzzy.exe -config "すきなとこ(相対パス可)"
を呼び出すだけでいいことがわかった。
- 名前をつけて保存の時のエンコーディングにSJISとUTF8しか表示させない
設定にできますか?
- >>685
サイトー企画、定番テキストエディター「秀丸エディタ」v8の正式版を公開
http://www.forest.impress.co.jp/docs/news/20100330_357901.html
(有)サイトー企画は30日、テキストエディター「秀丸エディタ」v8.00を公開した。約8カ月にわたるベータテストを経ての正式公開となる。
「秀丸エディタ」v8では、新たに“TSVモード”“CSVモード”“ファイルマネージャ枠”“アウトプット枠”などの機能が搭載された。加えて
複数行にわたるテキストを検索・置換できる機能、ステータスバーからフォントサイズを簡単に変更できる機能などの追加、バックアップ機能
マクロ機能の強化といった改良も施されている。また、初回ベータ版より数多くの不具合も修正され、より一層完成度を高めている。
“TSVモード”“CSVモード”は、タブやカンマで区切られたテキスト形式のデータを、列ごとに縦を合わせて表示する編集モード。マウスの
ドラッグ操作で列幅を自由に変更したり、各列のデータを昇順または降順で並び変えることも可能で、まるで表計算ソフトのように扱えるのが特長。さらに、通常のモードでもルーラー上でタブによる桁揃え位置をドラッグで自由に調整可能になっている。
“ファイルマネージャ枠”は、エクスプローラのようにファイルやフォルダをツリー表示できるサイドバー。最近利用したファイルの履歴や
プロジェクトの管理画面へ切り替えることも可能で、よく利用するテキストファイルを登録してすばやく開けるようにする新機能“ブックマーク”も
この“ファイルマネージャ枠”で利用することができる。
“アウトプット枠”は、GREP検索の結果などといったさまざまな情報を出力できるペインで、エディター画面下部に表示される。同一ウインドウ内で
出力結果を確認できるので、別タブや別ウインドウで結果を開くよりも便利だ。
そのほかの注目点としては、バイナリ編集モードが大幅に強化されたことが挙げられる。“アウトライン解析の枠”を利用して行番号とテキスト表記を
表示できるほか、バイナリ列を“CSVモード”で表示することにより編集や閲覧が行いやすくなっている。
- >>690
ふざけないで
- 別にふざけてないと思うが、なんで怒ってんの?
- ttp://aryarya.net/up/img/4150.zip
エイプリルフールに間に合わず...orz
適当だとやっぱ不安定だやねぇ。
- もう開発も終わってるxyzzyは秀丸には機能面でかなわない?
誰か引き継いでくれる人はいないか?
- シェアウェアだし秀丸の方が良いんじゃないか?
フリーでこれだけの機能があるのは、更新が止まっている事を考慮してもxyzzyが一番だと思う
- 五目並べもできるしな
- >693
すごいなぁ。っていうかNさん…?
- filter-regionの動作がわからないので質問させてください。
(defun sort-buffer ()
(interactive)
(filter-buffer "sort.exe"))
(defun sort-region ()
(interactive)
(filter-region "sort.exe"))
として M-x sort-buffe ならバッファ内のテキストがソートされるのに
Mark Set してリージョンをつくって、M-x sort-region としても
リージョン内のソートができませんでした。
どうすればリージョン内のソートができるんでしょうか?
- 流石にリージョンを指定してあげないと動かない。
(defun sort-region (start end)
(interactive "r")
(filter-region "sort.exe" start end))
- もう少し真面目にやってみた。実用にはなってると思う。
http://aryarya.net/up/img/4184.zip
>>697
詮索は野暮ってもんでさぁ。
- せっかく張ったハードリンクを切らないで保存する方法はないだろうか。
- ググり方が弱かったです。
(setq backup-by-copying t)
で解決しました。
- で今の最新版の開発状況ってどうなってるの?
- 公式は止まったままで、
よく使う拡張とか取りまとめたものと
USBで持ち運ぶのに便利なように少し書き換えられたものと
本体と2,3の拡張を英語に翻訳したもの
の3つが俺が知ってる範囲だとある。
- 最近より雪見酒さんのruby-mode使わせてもらってますが
"hoge#{page?}" の様な文字列だと「}」で文字色が復帰しないですね
ruby-mode.l 523行目を以下のように修正すると大丈夫のようです
-(or rb-str (not (or(looking-back "\$")(looking-back "?"))))
+(or rb-str (not (or(looking-back "\$"))))
ただ、なぜ$や?をチェックしているのかいまいち分かってないので
何か誤動作をおこすのかも知れませんが・・・
- テキストファイル読み込み時の文字コード判別が秀丸並に使いやすくなればいいんだけれど
- >>705
そっちのruby-mode重くて使ってないんだけどもっと軽くならんかね
- 最近mixiのxyzzyコミュの書き込みが多いですね。
- >>708
ほとんど書いてるの俺だけどね(笑)
- 書き込み規制されてないのでこっちにもアナウンス。
multiframe版を真面目にやり始めました。コードも公開してます。
http://bitbucket.org/mumurik/xyzzy/downloads
- えらいっ
- >>710
乙です
どういった場面で使うのが有効だろ?
mixiやってないんだがサポートはそっちがメイン?
- どうしましょかね?>サポートとか
つーか反応あるとは思ってなかったので考えてなかった。
最初はここでやるつもりだったのですが、書き込み規制で書けない事が多いのと、あんまし以前の版に反応が無かったので向こうにしてみたのですが…
とりあえず返事は書けなくても読んではいます。
基本的に落ちバグは直す気でいるので、再現方法を書き込んでくれればだいたい直ると思います。
たまに長期ネットにつながらなくなる事があるので反応無くなる事もありますが。
ちょっと変、みたいなのは物によっては直さず、物によっては直す、という気でいます。
フォルダ開いて途方にくれる位のレベルの人を私が面倒見る気はあんまし無いんですが、誰か代わりに相手してやってくれると嬉しいとは思います。
使い方とかの話は結構好きですが、雑談的なレベルでしかしないと思いますねぇ。
ちなみに使う場面というと私はマルチディスプレイとか、大規模プロジェクトで大きく離れたフォルダ下で大きな作業をする時に使います。
このフォルダ下はこっちのフレーム、とか決めてる感じで。
たまにC-x bで別のフォルダの方のファイルをコピペしたりしたいので、二つインスタンス立ち上げるのは都合が悪い。
foldingやってくれ!みたいな要望を受ける程本気で開発していく覚悟はまだ無いですが(^^;
マルチフレームって何よ!とかスクリーンショット用意したりとか、ってのはやる気は無いけど誰かどっかでやって欲しいなぁ、とか思ってはいます。
自分で頑張る気はあんましありません。
- ここも随分過疎っちゃったしなあ
mixiに書ける人はそっちで、書けない人はこっちにといった所ですかね
なる、マルチディスプレイか
うちはシングルだから使い道が難しいな
とりあえず気付いた点
・フレームに名前を付けてlispでフレームを切り替えられない?
・フレーム作成後、作成元のxyzzyで設定等のダイアログが開けない
新規フレーム側では開けるが、閉じた後作成元のxyzzyに戻るとメニュー周りの
再表示がされなくなる
・ダンプファイル作成後に起動すると以下のエラーになって即終了する
"0x00424abe" の命令が "0x030f102c" のメモリを参照しました。メモリが "read" になることはできませんでした。
後ろの二つはOSがいまだ2000の所為かも知れないが一応報告
- 今まではlispをいじってxyzzyの機能追加が多かったけど、
今後は開発もとまっているので、実際にソースを改造する方向へ
進んでいけば、うれしいな。
- 書けるかどうかのテスト
multiframe_20100523.zipは不安定ですね。0520.zipの方が良さそう。
>>715
おまえがやれお!俺C++もう嫌だお!
- お、かけた。
>>714
>・フレームに名前を付けてlispでフレームを切り替えられない?
これは要望って事ですかね?
この辺、elisp側をそのうち真面目に調べてやろうかなぁ、と思いつつやらない感じでここまできてるのですが。
enumだけ出来れば後はlisp側でハッシュもって頑張れよ、という気もしないでもない。
>・フレーム作成後、作成元のxyzzyで設定等のダイアログが開けない
新規フレーム側では開けるが、閉じた後作成元のxyzzyに戻るとメニュー周りの
再表示がされなくなる
開けないってどうなります?
手元では最新版の不安定なのを追ってる最中なのでいろいろと実験が難しい状態なので…
メニューがたまに消える問題の簡単な再現方法が分かると嬉しいなぁ、と思ってるのですが、ひょっとしてそれかしら?
>・ダンプファイル作成後に起動すると以下のエラーになって即終了する
"0x00424abe" の命令が "0x030f102c" のメモリを参照しました。メモリが "read" になることはできませんでした。
これは良くわかりません。
ダンプファイル作成後、ってようするに二回目以降の起動は、って事ですよね?
- >設定等のダイアログが出ない
ほんとだ!出ない!(<試してみた)
直します!
- と思ったがなおんねーや、これ。
.lの方の問題っぽくて、app-menu.lで*app-menu*とかグローバル変数に入っちゃってるので。
frameのハッシュにしてやるとかやらないといけない。
そのうちメニューが消えるのもたぶんこれですねぇ。gcが起きると消えるっぽい。
(menu.ccのlwin32_menuのデストラクタあたり)
一応膨大な.l側の対応はやらない、というのが当初からの方針なので、このバグは治さない事にします。
すまぬ。
- >>717
>これは要望って事ですかね?
まあ名前ではなく、make-frameの戻り値でもいいですが
(set-frame *frame*)こんな感じで切り替えが出来ればいいかなと
>ダンプファイル作成後、ってようするに二回目以降の起動は、って事ですよね?
ですます
こちらの導入方法に問題があるのかも知れないので一応書いておきます
1.正規のxyzzyのディレクトリ以下を全てコピーする
(コピー先にmultiframeを導入する)
2.multiframeのlisp/以下のファイルと同名のファイル(含むlc)を消す
ダンプファイルを消す
3.multiframeを展開、実行ファイルを上書き
4.multiframe版を実行(ダンプファイル作成)
終了させて再度実行するとエラーになる
念のため1〜3の後にxyzzy/usr, xyzzy/site-init, ~/.xyzzyをリネームして
4を行ってみたものの同じ結果になります
ちなみに0520.zipです
>>719
>gcが起きると消えるっぽい。
あ〜道理で再現性が分からなかったわけだorz
>すまぬ。
自分はメニューはあまり使わないので別に構いませんw
- >>720
set-frameは実装しようかとも思ったけれど、使う人がいなさそうなのでやってません。
これ使ってlisp書こうとか思ってます?
もしそうなら実装しますが、自分は使わんけど普通はあるよな〜と思ってるくらいなら、使う人が現れるまで実装はさぼろうかなぁ、と思っとります。
この辺は微妙で、用意されてれば使うのに、って人も確かに要るかもしれないんですが。
enumrateとsetくらいは実装した方がいいかなぁ…
>> 導入方法
問題なさそうですけれどねぇ。
私の方にゴミのイメージが残ってるのかしら。
でも2000はさすがにもう分からんです。
XP以降で再現出来る人が居たら真面目に追います(^^;
- >>721
>自分は使わんけど普通はあるよな〜
今のところアイデアもないのでこれですね
更新ネタが無くなったらでいいかなと思います
>でも2000はさすがにもう分からんです。
>XP以降で再現出来る人が居たら真面目に追います(^^;
了解
- まだ使いもせず聞いてすまないんだが、
擬似フレームじゃなくて、emacsみたいなフレーム実装してます、
ってこと?
- >>723
そんな感じ
マルチウィンドウで、バッファ共用しようとしてる
- そしてウィンドウという用語はこの場合…などと注釈が必要になるのだった。
まぁ分かるからいいけど。
Activateの振る舞いをいろいろと変えているが、やっぱりたまに落ちるのは避けられ無さそう。
0523版は廃版ですかねぇ。
- ウィンドウ選んだ時のonpaintでごくまれに落ちる奴を治しました(つもりです)@multiframe_20100528.zip。
もともと再現率が低かったので直ってるか自信無いですが、今の所落ちてません。
そういえばWin2000のimageのダンプ後起動で落ちるってコーリングコンベンション回りの挙動ですな。
コンパイルオプションで関係ありそうなのがVS2008ではいろいろなくなっていてその辺に問題はあるかもしれんです。
Win2000で当時のSDKを入れてるマシンを持ってる人が居たら、nmakeしてもらうと直るかもしれません。
#でもそれをお願いするのはそれなりにデベロッパーじゃないときついでしょうな(^^;
- ケータイの絵文字(UTF-8)を含む文章を開いてもsjisで開くようにする
Lispって書けるものかな?
- >>727
(find-file "file.txt" *encoding-sjis*)
こういう事じゃない?
- sjis(docomo)、sjis(au)、utf8(softbank)みたいなエンコーディングの自動判別があれば便利なのになぁって思ったわけです。確かにsjisで決めうちすればいいんですけど、もっといい方法ってないものかなぁと…。
- >>729
ファイル名で判定が出来るとか、ファイルの先頭にでもどのキャリアか識別出来る情報があれば
*find-file-hooks*とrevert-bufferでどうにか出来る
なんにせよ自動判別させる「何らかの情報」を設けておかないと無理
- detect_char_encodingを書き換えようぜ。
- LZH開発中止で、今後xyzzyの企業内利用に影響がでるかな?
- 今話題のRight-to-Left Overrideでzipに偽装すればおk
- というか影響が出るほど(LZHと)密接に関わってるとも思えないんだが
せいぜい統合アーカイバプロジェクトとして、程度だよね
- lzhで配布されていることが問題ならソースからビルドすればおk
- zipなどはメールフィルタがチェックするためにxlsxをウイルスと誤爆してブロックするために
パスワード付きzipなどメールフィルタのチェック対象外になる形式を推奨されてしまった環境にいるので
lzhがチェックで素通りする脆弱性は全く関係ないな。
- xyzzyのバッファ内で、telnet等のターミナルエミュレーターを動作させるものって、何かありますかね?
昔はtterm.lというのがあったけど、今ではもう入手出来ないのですよね。
または、どなたかtterm.lを頂けないでしょうか?
- clipselect.l 入れたら、ある程度時間経つとxyzzyがハングするようになった
直せるスキルないので放置しまつ
- html+-modeって作者のサイト以外で入手できますか。
403でアクセスできないんだけど。
- >>739
とりあえず
ttp://web.archive.org/web/*/http://www1.odn.ne.jp/ymtz/archive/html_plus-mode20030430-1.lzh
- >>740
ありがとう。
入手できました。
- 質問いいですか?
クリップボードでUnicodeがコピペできなくて、いつも以下の設定をし忘れていることに気づくのですが、
編集>クリップボードエンコーディング>Unicode>Unicode(UTF-16)
起動時にこの設定を自動でしておく方法ないもんでしょうか?
- (change-clipboard-encoding *encoding-utf16*)
- >>743
うまくいきました。ありがとう。
検索したら励ましあえのスレの過去ログにも何度か既出の話題だったみたいですね。
- (define-key ed::*c-mode-map* '(#\C-c #\C-c) 'execute-subprocess)
を設定したいのですが、これに同時に文字列を渡した状態で開くことってできないですか?
例を示すと、C-c C-cをするとミニバッファには
& gcc -O -Wall *.c
と表示されている、ということがしたいのです。
- >>745
こんな感じ?
(defun ya-execute-subprocess (&rest args)
(interactive "e& \np"
:history0 'ed::execute
:default0 (case buffer-mode
(ed::c-mode "gcc -O -Wall *.c")))
(apply execute-subprocess args))
(define-key ed::*c-mode-map* '(#\C-c #\C-c) 'ya-execute-subprocess)
- >>746 訂正します
(defun ya-execute-subprocess (cmd &rest args)
(interactive "e& \np"
:history0 'ed::execute
:default0 (case buffer-mode
(ed::c-mode "gcc -O -Wall *.c")))
(apply 'execute-subprocess cmd args))
- xyzzyって7で使えますよね?互換モードもあるし
今更meadowに戻るのは嫌すぎる・・・
- >>748
7 32bitだけど、原因不明の例外で時々落ちることがある
それを除けばとりあえず使えてはいる
- >>748
7 64bitで互換モードとか使わなくても問題なく使えてる。例外で落ちたこととかない。
- そうですか・・・
自分も今度試してみます
- 俺も普通に7の64bitで使ってる使えてる。
別のPCゲーで使ってる4GBパッチも当てたりしてるが
特に例外で落ちたりはないな。
- 7 x64で普通に使っている。安定していると思う。
- >>746-747
素晴らしいです、ありがとう!
やはりそれなりに複雑になりますね
(case buffer-mode
(ed::c-mode "gcc -O -Wall *.c")))
のところに他のモードも記述していくと様々な言語に対応できたりするのでしょうか?
- xyzzyってたしかC++で作られているんですよね?
組込みでのC言語しかしらないけど、がんばってC++覚えれば
いじれますか?
開発環境はeclipseとVC++Express Editionのどちらにしようか
迷ってます。
- >>755
VC以外の環境でコンパイルできた例を聞いたことがないので
素直にnmakeのあるVCを使ったほうが良いかも
Memo/ソースからビルドしてみる2
http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=Memo%2F%A5%BD%A1%BC%A5%B9%A4%AB%A4%E9%A5%D3%A5%EB%A5%C9%A4%B7%A4%C6%A4%DF%A4%EB2&word=%A5%D3%A5%EB%A5%C9
- >>756
アドバイスどうもです。
無料のVC++Express Editionをダウンロードして一度ビルドしてみます。
組込みしかしらないが、会社が
「組込み技術やC言語以外のスキルを身につけろ!」
ということでC++を覚えようというわけです。
それなら、いつもお世話になっているxyzzyのソースとか見て
勉強したいなというのが動機です。
- C以外か。
今の時代ならスクリプト言語でwebアプリとか作ってみた方が面白いし、
スクリプト言語で書き捨てスクリプトでも書けるようになると仕事にも役立つとおもうけど
本人がC++というのなら止めないが、やっぱり俺が上司なら止めたいなw
- Androidに移植して欲しい
- xyzzy lispを極めようよ!
- 選択範囲が TEMPORARY (start-selection の第二引数)かどうか判定する方法ある?
- >>761
pre-selection-pはどう?
- >>762
成程。Thx!
- xyzzyもだんだんすたれてきたね。
- Androidに移植するんだ!
- 流行ってたまるかw
- >>764
今は統合環境が普通だからなあ。
- 2chもmailもできる統合環境
- xyzzy で 2ch できても一つも嬉しくないのは、あー、きのせいですかそうですか。
- カレントバッファのフォントだけを変更することはできますか?
set-local-window-flagsみたいな感じで
フレームでもいいです。(できればフレームの方が良いです)
- >>770
フォントは変えられなかったはず。
起動するときに、xyzzy.ini を指定することはできるから、
それでなんかならんかい?
- あるバッファとあるバッファで違うフォント使いたいんだよねー
- lisp全然わからんのだけどいいだろうか。
csv-modeを使ってるんだけど、C-c C-eで開く編集ウィンドウ、
あの入力欄を右端で折り返してくれて、複数行で表示するにはどうしたらいい?
中身の長さに応じた複数行じゃなくても、決め打ちで3行分、とかでもいい。
どうやら1124行目あたりの
,(- *csv-edit-dialog-width* 1 *csv-edit-dialog-header-width* 1 1) 14))
↑
この右端の数値を28とかに大きくしたら入力欄の高さが倍になったから、
ここらへんなのかな、ってのはわかった。
でも入力欄からはみ出す長さの文章とかだと折り返さずに切れて見えるだけで…。
今はとりあえずダイアログ幅を550の画面幅ギリギリにしてなんとかしてる。
- >>773
1122 行目の #x50810080 を #x50a10004 にする
- >>774
おおお!ありがとう!
1122行目をその通りに変更して、1124行目を28にしたら、ほぼ思った通りになった!
ただ、次のカラムにまで入力欄が被ってしまう(正確には潜っていますが)のは、
どうすればいいのかしら?
- >>775
けっこう変更するハメになったので差分を作りました
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2Fcsv-mode%20%A4%CE%CA%D4%BD%B8%A5%C0%A5%A4%A5%A2%A5%ED%A5%B0%A4%C7%C6%FE%CE%CF%CD%F3%A4%F2%CA%A3%BF%F4%B9%D4%C9%BD%BC%A8%A4%CB%A4%B9%A4%EB%BA%B9%CA%AC
- >>776
ありがとう!思い描いた通りになった!
これでほんと楽になりました!
- http://tomiya.bne.jp/cgi-bin/upup/src/myg_l3766.png.html
久しぶりにいじってみた。
あぁ、次はキャラクタエンコーディングだ…
- >>778
ひっそりと大きく、しかし気長に期待
- >>778
がんがれ超がんがれ++
- xyzzy ユニコード版たのしみだなあ!
- 他人のLispの滅多に無いどうでもいい問題に遭遇して自分で解決したから書いとく。
igsearchでmigemo使ってて、
*case-fold-search*が:smartで、
ユーザ入力が小文字のみで、
migemo出力に大文字が含まれる場合に、
:smartとして機能しない。
例:
-------------
pcie
PCIe
-------------
が含まれるバッファで"pci"と入力すると、PCIeの方にヒットしない。
pciに対するmigemoの出力: (pci|PCI(バス|スロット|カード|デバイス)|p([シシし]|ci))
対応:
igsearch-migemo-toggleで*isearch-scanner-hook*を*case-fold-search*が:smartの場合にだけ出力を全て小文字にすることにした。
以下、igsearch-migemo-toggleの最後のほうの(setf *isearch-scanner-hook* (unless (igsearch-migemo-on) nil))と置き換え。
(setf *isearch-scanner-hook* (if (not (igsearch-migemo-on)) nil
(progn
(setf scanner-hook-org *isearch-scanner-hook*)
#'(lambda (query)
(setf r (funcall scanner-hook-org query))
(if (and (eq *case-fold-search* :smart) (not (string-match "[A-Z]" query)))
(string-downcase r)
r)))))
- C-u 9 9 9 C-g のあとにメニューから「次のウィンドウ」とか選ぶと
何故か C-u 9 9 9 C-x o と同じ意味になって意味がわからないぽん。
- メニューとか使うからだよ
- >>783
うちの環境ではならない。
- 環境依存なのかこれ。
- 環境を言い出すなら何で自分とこの環境を晒さない
あ、うちの環境ではなるよ
- 7 Ult x64 だよ。
C-u 999 C-g C-x o は問題ない(当たり前だ)けど、何が違うんだろうな。
- >>788
メニューから使うかそうでないかの違い。
- XP Home SP3 / xyzzy 0.2.2.235 でもなったけど
C-u 9 9 9 C-g C-g みたいに C-g を二回やれば
フツーにメニューから『次のウィンドウ』が使えたよ
- 問題になるのがquitだけならとりあえずこんなので回避できるみたい。
(defun quit ()
(interactive)
(setq *prefix-args* nil)
(setq *prefix-value* nil)
(error 'quit))
- キーシーケンスの開始のタイミングでクリアしてるんかな。
C-u 系のコマンドが unwind-protect するのが本来あるべき姿?
- C-gはとりあえず連打するのが基本だと思ってた
- するするw
- (defun ctrl-g-baka ()
(interactive)
(when (and (eql *this-command* 'quit)
(eql *last-command* 'quit))
(message "Ctrl-g 押しすぎだっつってんだろこのバカチンが!")))
(add-hook '*post-command-hook* 'ctrl-g-baka)
- Unicode版楽しみだ
タイ語とかアラブ文字?とか表示できなくてたまに困ってる
>>771
>>770 じゃないけどフォントサイズは設定からしか変えられないのか・・・
集中して書くためのエディタのdarkroomみたいなことできないかな、と思ってたんだけど
- xyzzy にはお世話になってる
そのunicode 版が出るなら、勿論使わせてもらいたい
ところで、現在の xyzzy に実装している lisp の機能では
CLtL2にどこまで近づけられる?
xyzzy には common lisp のマクロが搭載されているから、
亀井さんが実装しなかった common lisp の機能をユーザーがかなり実装出来る気がする
- >>797
どこまでってそりゃ基本の5関数とquote、cond、関数定義があるんだからなんでも実装できるよ。
あとはヒューマンリソースと時間の問題。
というわけで言いだしっぺの法則をapplyしてCLOSよろしく!
- 互換レイヤーみたいなので、emacsの.elをそのまま使えればいいのにね
今って、もしemacsにある何とかモードを移植したかったら、互換のライブラリ使って移植しないといけないんですよね
- >>798
なるほど
それなら clos よりも簡単?な CLtL2 の実装から手をつけてみたいと思う
- た、ただのユーザーからは何の話をしてるのかさっぱりだ!
だが何だかわかないなりにありがたいので頑張れ!
- >796-797
「0」を入力したら #\F2 と同じになっちゃって、これは character の定義をそもそも変えないといかんなー、とか
そんな情けない状況でなかなか進みません。
- >>799
かてふくらいにデカいファイルだとElisp移植キットに頼った方が楽だろうけど
余裕があるならxyzzy組み込みの関数に置き換えた方がいいかもね
Emacsで動く関数ならxyzzyでも大体似たようなのがあるから何とかなる
気力さえあれば
- >>798
無責任すぎ
>>797>>800
xyzzyのlisp自身での実装って意味だろうけど
そんな無駄なことは止めておけ
本体レベル(C++)でいじることがまだまだあるし
あれはもう相当わかる人じゃないといじれないよ
- 実装や価値はともかく、まず必要になるCLtL2とxyzzyの比較表みたいなのは、どうあれあるとうれしい。
- 昔、音声入力でのエディタ入力に苦労している動画を見たことがある。
今思いついたんだが、普通の文字入力はキー入力、コントロールコードだけを音声入力にすればいいんじゃないか。
- >>805
xyzzyの関数やマクロの一覧ってどこかにあるのかな
wikiをざっと見てみたけどみつからなかった
- なければ作ればいいじゃない
(let (syms)
(do-external-symbols (s "lisp") (push s syms))
(format t "~{~S~%~}" (sort syms #'string< :key #'symbol-name)))
- >>807
wikiの左メニューに"lispリファレンス"があるじゃない
- reference.chmってデフォルトじゃないんだな
- 手軽に64bit版にできないかとソースをもらってきたけどvc++4.0用とかつらい。
for(int hoge; hoge<HAGE; hoge++)
;
if(hoge == MAGE)
みたいな2005では修正された枠漏れ前提のコードがあったり、_M_IX86前提なコードがあったり。
VC++2010(2005や2008でもいいですけど)でコンパイル通るx64向けに書き直した人、誰かいません?
というか、#ifdef _M_IX86なとこ(スタックがどうとか)ってx64向けに書き直さないとまずいです?
- >>811
x64ではstdcall呼出規約が使えないらしいので、当然書き直しだと思う。
- うわーい、作業が増えたぞ(泣
- >>811
forのスコープはコンパイラスイッチあるよ。
- やる気が一気にしおれてきた
- xyzzyになじみまくった人、引っ越し先は考えてるんですか?
- Emacsでいいじゃん
- まぁそうですが、Emacsに不満があったからxyzzyにしたって人は多いと聞きますがね
- >>816
全く考えてないから64bit化して使いつづけたい。
- CLtL2でもUnicodeでも64bitでも、とにかくまずチケットでも何でもいいからTODOLISTみたいなのを作れと。
- xyzzyでやってた作業をウェブサービスとかでこなすようになったから
もう秀丸とかでも困らないんだけど、まだまだ使うよー
- >>816
全然
- 811
- >811
for については /Z:forScope- つけるか、
xyzzy wiki にパッチがあったと思うのでそれをあてればいい。
- xyzzyはもうテキストエディタとしか使ってないわw
- そりゃ、テキストエディタだからな
- irc-mode どこ?
ググってもでてこんわ
- >>827
ttp://web.archive.org/web/*/http://www1.odn.ne.jp/ymtz/archive/irc-mode20030430-1.lzh
- Data Retrieval Failure. ですた
- 最近テキストエディタとかアーカイバとかで
dll読み込みの脆弱性の修正が流行ってるけどxyzzyは大丈夫なの?
- >>830
xyzzyでどうなのかは知らないけど一般論として
そもそもユーザーを誤解させて操作させることが必要な悪用しにくい脆弱性
http://www.microsoft.com/japan/technet/security/advisory/2269637.mspx
心配なら回避策しとけ
- xy-phrase.lって謎めきすぎだろ・・
便利そうなのに(zen codingっぽいものかなと思う)
勘を働かせてみたけどわかりません
誰かレクチャーしてください
- だいたい把握できた
これmode-specific-indent-commandが設定されてないモードのバッファでxy-phrase-flashy動かすと
展開途中の表示が消されないでどんどん追加されちゃうって不具合があるんだな
そこで混乱した
仕込めばおもしろそうだけど誰か仕込み済みの人は居ないのかな
- xy-phrase をネットインストーラーから入れたら、
silte-lisp 以下においてくれるよ orz
- win7 64bitでも正しく動くのかなぁ。
- 使ってるが、今のところ、問題無く動いてる。
- MSの互換性への努力は半端ない。
- >>837
32→64ではそうでもない
CPU側に用意されてる互換機能使ってなかったりするし
動かないレガシーアプリ用にはXPmode(仮想PC)を7ビジネス以上に無償提供するから
それで勘弁してってことなんだろう
- たまたまxyzzyでぐぐっていたら、過去にはオフ会なんてあったみたいなんですね。
xyzzyの開発が終了してからなんか寂しくなった感はありますね・・・
っていうか作者って生きてるの?
- >>839
> http://www.jsdlab.co.jp/company.html
> 代表取締役:亀井哲弥
- 大学の研究室の延長っぽくて居心地よさそうな職場風景だなぁ。
だが、日立かぁ・・・。
- >>840
sugeeeeee
びびた
- >>834
xy-phraseの作者さんのサイトに行ったらxyzzy版anything見つけてしまった・・・
これは・・・
- >>839
確か初回は本が出た時期くらいにあったような記憶が
当時もxyzzyのバージョンアップはなかったよ
- xyzzyって、マルチタブにできなかったっけ?
「xyzzy タブ」でぐぐってみたが、タブ文字のことばかりひっかかって、
マルチタブにする方法がわからんかった。
だれか教えて。
- 表示>ツールバー>バッファ
のこと?
- >>846
それだサンクス
- デフォルトだと出てないのか
- マシンが落ちたときなどちょっとでも正常に終了しないとセッションというかタブ(バッファ?)の保存状態が吹き飛んでしまうのですが、
防ぐ方法はないでしょうか?
うまく読めないならば読めないで、前の設定を読み込んでくれれば良いのですが、
ふいに異常終了したり、マシンがフリーズしたりした後に起動すると
開いていたファイルのタブが消えてしまいます。
正常に終了した後の起動は問題はないのですが。
- >>849
俺は『終了時の状態を保存する』とは別に
こんな感じで終了時のセッションを保存してるよ
『セッションの自動保存』が無効のときに
終了時のセッションを *default-session-directory* に保存する
*default-session-directory* がセットされてなければホームディレクトリに保存する
セッションファイル名は設定ファイルの保存先のパス名からテキトーに命名する
セッションを保存する際に同名セッションがあればリネームでバックアップする
ファイルを参照しているバッファが一つもなければ保存しない
テキトーに命名されたセッションは load-auto-named-session でロードする
ロードするときにバックアップしか存在しなければそれをロードする
入りきらなかったのでコードは次のレスに
- sed -e "s/ /\ /g" とかやったら要領制限に引っかかったのでそのまま貼ります
読みにくくてすまぬ
(defun get-auto-named-session-file-path ()
(let ((uc (remove-trail-slash (truename (user-config-path)))))
(merge-pathnames (format nil ".xyzzy.resume.~A.ssn"
(substitute-string (if (string-match (concat "^" (regexp-quote (si:system-root)) "\\(.*\\)$")
uc)
(match-string 1)
(substitute-string uc ":" ""))
"/" "."))
(if (and *default-session-directory*
(file-directory-p *default-session-directory*))
*default-session-directory*
(user-homedir-pathname)))))
(defun save-auto-named-session-on-save-history ()
(unless ed::*auto-save-session-file*
(let ((ssn (get-auto-named-session-file-path)))
(when (file-readable-p ssn)
(rename-file ssn (concat ssn ".bak") :if-exists :overwrite))
(when (delete-if-not 'get-buffer-file-name (buffer-list))
(save-session ssn t)))))
(add-hook '*save-history-hook* 'save-auto-named-session-on-save-history)
(defun load-auto-named-session ()
(interactive)
(let ((ssn (get-auto-named-session-file-path)))
(when (or (file-readable-p ssn)
(file-readable-p (setq ssn (concat ssn ".bak"))))
(let (ed::*current-session-file-name*)
(load-session ssn)))))
- おいおい俺は今までセッション機能の存在に気付かないで生きてきたよ‥
なんてこったw
- セッション機能使ってみた
multiframe版だと落ちちゃうかぁ。> <
しばらくセッションは使わない方向で‥
- ちょっとした質問なのですがIEやChromeの検索のように
検索でヒットした箇所をすべて反転させておくもしくはわかりやすいように表示する
といったようなことはできないものでしょうか?
- て
- >>854
pickup-pattern
ttp://ohkubo.s53.xrea.com/xyzzy/index.html#pickup-pattern
- xyzzyで、編集中のドキュメントに書かれてる文字列を含むファイルを検索したい時って、
どうするのが楽なのかな。
範囲選択して、Ctrl+Ins でコピーして、M-x grep-dialog
してるんだけど、なんか手間で…。
- >> 857
C-u M-x grep
- >>856
ありがとう試してみます
- 久しぶりにnetinstallerを開いたら設定がなくなっていて、
前に$HOME/.netinstが参照されていたはずなのに、何故かxyzzyをインスコしたディレクトリの.netinstを読もうとしていたようでした。
一人で使っていますし、.netinstを移動したら動いたみたいなのでよいのですが、
これはどんな原因が考えられますか?
- あ
- 途中で送信してしまった
>>856
できました。
やっぱりハイライトできると視認性が上がって便利ですね。
- >>858
横からですが、
C-u の universal-argumentってどういう意味なんでしょう?
リファレンス読んでもいまいち
2008-02-13 - k12uのアレ
http://d.hatena.ne.jp/k12u/20080213
個々を読んで、M-x grepに付加的な使い方ができるというところまではわかったのですが
- >>863
(defun f (&optional arg)
(interactive "p")
(msgbox "arg:~w" arg)
)
M-x f
C-u M-x f
C-u 14 M-x f
- >>865
(interactive "p")
でC-uで渡した前置引数をM-xのときに処理できるようになり、
C-u M-x fで前置引数を省略すると4が渡されるということですね
ではC-u M-x grepのときに前置引数の入力を省略して4が渡されていると思うのですが、
4の代わりに現在のドキュメント(current-buffer?)が渡されているように見えます。
これはどういうことなんでしょうか?
lips/grep.lを見ていたのですが、どの辺りでそうなっているのかわかりませんでした
- >>865
grep から実際に検索する補助関数 grep1 の第二引数に 4 が渡されてる
grep1 は第二引数が non-nil だとカレントバッファのみが対象になる
- (defun f (&optional arg)
(interactive "p")
(msgbox "arg:~w, ~w, ~W" arg *prefix-args* *prefix-value*)
)
M-x f
C-u M-x f
C-u 14 M-x f
- ミニバッファ版gresregでエスケープシーケンスを理解させるにはどうしたらいいですか?
- >>868
ダイアログでチェックを入れて検索後、ミニバッファ版を使用する。
- html+-modeを入手するにはどうすればいいでしょうか
作者のサイトは403で過去レスで紹介されていた方法でも見つからず困っています。。
- >>870
>>740 でダウンロードできたけど?
あとは xml-mode で代用するとか
- >>871
見るところを間違えていたようです。大変申し訳ありませんでした。
なんとかなりました。ありがとうございます。
- xyzzy はじめました
- 2ch-modeちゃんとcookie食ってる?
- キーワードが合ってないと食っても書けない
- 自分はこんなの作って変更されても対応できるようにしてます
http://www.green.dti.ne.jp/poi/temp/amendment_http_post.l
config.lの最後に
(load "~/.2ch/amendment_http_post.l")
みたいにすれば使えるかと…
- >>876
これで冒険の書規制に対応できてますか?
うちではなんだかうまくいってません…
cookieの値(内容)がその都度変更されるんで
これをどこかに保存しないとだめっぽいんだけど
現状ではどこにも保存されてないような気がするし
初回はcookieの値が空なので
強制的に2分待たされた後再カキコしないといけないし(これは問題ない?)
- >>877
そんな規制があるんですか…
現状は書き込み時にエラーになったら set-cookie ヘッダの内容を付け足して再度リクエスト…という流れで、cookieは保存していないので
無理ですね。すみません('A`)
ここには普通に書き込めてたんでてっきり送ってくるcookieの内容が変わっただけかと思ってた…
- >>878
了解しました
うちはあさひネットでもろに規制対象なんで
冒険の書規制はこんな感じで↓プロバイダや板などによって違いがあるようです
http://info.2ch.net/wiki/index.php?%CB%C1%B8%B1%A4%CE%BD%F1%B5%AC%C0%A9
まだ実験段階で仕様は今後予告なく変更されるらしい…困ったもんだ
とりあえずCookieを保存できるように改造すれば最低限の対処は可能になりますかね
あとできればその時のレベルごとの連続カキコ規制時間間隔も見張って警告出してくれるようにして
その設定も予告なく変更される仕様にあわせて外部ファイルから指定できるようにする…
なんかもう2chやめるのが一番簡単でラクそうだな…
- 普通の専ブラに乗り換えればいいじゃない
自分のプロバイダがリストされて2ch-mode使えなくなるのは嫌だが
- >>880
他人事だと思って
おまえのところも規制されちまえ〜
- ocnだからね。遅かれ早かれ…
- HAPの値をロードセーブするだけだから独自改造けっこう簡単だぞ
いまだに使ってるような奴は自分でソースいじってんじゃないの?
- やってる人いないかな?
- いじり始めてみたが…くじけそうだ
domainやらpathやら面倒すぎる…('A`)
- ここはひとつ「独自改造けっこう簡単だぞ」っていう >>883 に期待したい。ゼヒタノム!
- できたようなできないような…
http://www.green.dti.ne.jp/poi/temp/amendment_http_post.l
初回書き込みでエラーが出るけど2回目以降は書き込める…といいなぁ…
自分の環境は規制対象ではないのできちんと動いているのかよくわかりません
冒険の書の表示まではできることを確認しましたが…
非常に怪しい出来だと思うので使う方は覚悟して人柱になってみてください。
データ構造もコードもぐっちゃぐっちゃ…。週末が潰れた上に体調を崩してしまった。
やっぱり自分にはLispは荷が重い…('A`)
- >>887
いつもありがとうございます。
ちょうど常駐板が強制冒険の書(何か忍法帖って名前に改名したらしいですw)に
なったので、後で試させてもらいますね。
- >>887
試してみましたが今の所大丈夫みたいです。
最初の書き込み時が「2分待て」エラーでは無くて「ユーザー情報消失」エラー
でしたが、2分後の再書き込みで問題無く書ける事を確認しました。
ファイル上の保存cookieもちゃんと更新されている様です。
- >>887
ありがとう!試してみます
愛してる!!
- wikiに貼るとかしません?
- 必要とする人がやればいいだろう
- Wikiもいいけど、netinstallerに対応するのは難しいのかな?
- うちでは*base-directory*を変更しているんで、
ついでにmain.lとhttp.lを書き換えて組み込んじゃいました。
これで当分2ch-modeを使い続けられる。ありがたやありがたや。
- とりあえず動いている&お役に立っているっぽくてよかったです。
ちょっと手直ししたい所があるのでそれに手を付けたらwikiにも乗っけようかと思います。
netinstaller対応は…2ch-modeと連動すること&2ch-modeの関数を上書きする関係で、config.lに追記をする必要があること、
netinstallerへの対応の仕方がよくわかっていない('A`)等の理由より今のところ予定はありません…すみません。
>>894
*base-directory*が~/.2chでなくても、
config.lの最後に
(load "(amendment_http_post.lのパス)")
のようにしてamendment_http_post.lを読み込ませて、
amendment_http_post.lのcookie保存先の指定を、
(defconstant stored-cookies-path "(cookie保存先ファイルのパス)")
のように変更すれば動くと思います。もちろん組み込んで動かしても全然問題ないですが。
ただ、*base-directory*が使えることを考えると、
stored-cookies-pathは
(defconstant stored-cookies-path (merge-pathnames "stored_cookies.l" *base-directory*))
のようにした方がいいですね。手直しする際に一緒に直しておきます。
- >>886
俺の改造もっと単純だけどlisp直いじりだし
まあ人がちゃんと使えるようにすると大変だよなw
あとスレ立て苦労した
- lispに詳しい人に効きたいんだけど
xyzzyにansiのcommon lispをフルで実装するには
xyzzyの内部に変更を加える必要がある?
それとも、xyzzyに実装されているlisp処理系だけで十分なのですか?
- 内部っぽいのはPretty Printingぐらいかな。
とにかく仕様が膨大かつ無駄に細かいのがCommon Lispだからねぇ。
https://bitbucket.org/tarballs_are_good/lisp-random/src/278026a489a9/function_notation.lisp
;;; EXAMPLES
;; CL-USER> (mapcar {x -> (1+ x)} '(1 2 3 4))
;; (2 3 4 5)
これがxyzzyのloopだとCommon Lispの仕様を満たしてなくて使えない…
と思ったら、lisp/cmu_loop.lがあって、それ使ったらいけた。
というふうに、Lispでできることなら移植すればいいんだろうけど、まず仕様を満たしてるかのテストが要る。
それも移植できればいいんだけど。
- >>898
なるほど、難しいものなのですね
- リードマクロ関連で無理そうなのなかったっけ
- >>897
xyzzyのソースもいじった方がlispだけでやるよりも楽ってのがより正確かなぁ
実用的な速度を出そうとすると余計に
>>900
#P パスネーム型とか
#* bit vector型とかかな
対応する型が無いのはきついよね
- 忍法帳対応の手直しが終わりましたので上げました&wikiにも追記しました。
ttp://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F2ch-mode%20%C7%A6%CB%A1%C4%A2%C2%D0%B1%FE
cookie保存先ディレクトリの変数の名前を *stored-cookies-path* に変更し、defconstantではなく
defvarを使うように変えましたので、以前の変数の値を使用していた方は注意してください。
- test := 1
foo := 2
↑の部分で、 : を縦にきれいに揃えるコマンドはありますか?
- >>903
ttp://park.geocities.jp/bovecrach/xyzzy/indent-to-token-plus.html
- >>904
ずばりのものですね。ありがとうございます!
- >>902
遅ればせながら
ありがとう & おつかれさまでした。
忍法帳がLV2から先に上がらなかったけど、そのへんも直ってるんでしょうか。
まあ別にLV2でも別にスレ立てができないだけで、
スレだけはブラウザから立てりゃいいだけなんですが。
ともあれ、早速差し替えて使わせていただきます。
しかし今更だが、2ch-modeの改造の件、誰も原作者には振らなかったなあ…。
- お前がやらなきゃ誰がやるんだよ
もう思ってるより人居ないしね
- 後出しでうだうだ言うくらいなら自ら率先して動けって話だわな
- >>906
Lv2から上がらないなんて現象が起こってるんですか…って試してみたら確かにそんな気がする…
これは全然直ってないです('A`)
スレ立てできるってことはブラウザだとLv3以上に上がるってことか…とすると2ch-modeの方が原因ってことになるけど…
cookie周りの挙動はブラウザと同じのはずだからPOST文字列の組み立て方がまずいと悪影響を及ぼすとかなのかなぁ…
ちょっと見当がつかない…。すいません、これに関してはあんまり直る期待はしないでください(´Д`)
- >>909
了解です。
前回公開した版からさらにいろいろと手を加えてらしたようなんで、
そのへんの修正を入れたのかな、と勝手に推測し(て外し)ただけでした。(^^;
LV上がり周りは自分もスキルが足りないなりにちょっと調べてみようと思います。
- html+-mode の新しい入手先だそうな
ttp://dl.dropbox.com/u/9124140/tsoft/index.html
- >>911
えっ新しいhtml+-mode!? と思ってしまった。
新しい入手先だったか。でもありがと。
- dropboxってところがナウでヤングですね。
- いい感じの流れじゃないか。俺も読もう
- おお、ドロップボックスってのはそういう風に使うのか。
- >>910
ありがとうございます。
あれからちょっと調べてみたところ、クッキー設定ページだけではなく、
書き込み成功ページでもset-cookieしていることが判明しました…
手元でそのcookieも保持するように修正してみましたところ、今日になってLv3になりました。
とりあえず修正したものを上げてみました。
>>910 さんの環境ではまだLv2だったりしますでしょうか?だとしたらこれでビンゴだと思うので
上書きして使ってみてください。
ttp://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F2ch-mode%20%C7%A6%CB%A1%C4%A2%C2%D0%B1%FE
なかなか安定しなくてすみませんです。どうぞよろしくお願いします。
- あ、そうだ、スレ立てについては特に何もいじっていないので(cookieの取り扱いは影響を受けますが)、
この修正前にすでにスレ立てができていない状態だった場合はこの修正を適用しても
多分スレ立てはできないままだと思われます('A`)
後、cookie等を取得するためにリトライが発生した場合、リトライ前に0.5秒ウェイトするように
修正しています。以前は送信データに含まれている時刻をいじっていたのですが、行儀があまりよくないと思ったので…
- 別に困ることないんだけどwindows7でルーラー表示すると
窓突き抜けてデスクトップに点線が出来る
これってどういう現象なの?
- >>916
>>917
ありがとうございます。
さっそく昨日差し替えて、1日たってLv3に上がったのをさきほど確認しました。
そういえばよく考えてみたら2ch-modeからスレ立てしたことは一度もなかったかも…。
別の専ブラなども使っているし(まちBBS用)、いざとなったらそっちでやればいい話でした。
スレ立ての話なんか持ち出してすんませんでした。
でもLvが上がると次の書き込みができるようになるまでの時間が短くなるようなので、
Lvが上がってくれた方がありがたいのは確かです。
改造お疲れさまでした。ありがとうございました。
- 流れを読まずに質問させてください
行もしくは選択範囲を複製するlispを書きたいのですが、上、もしくは下に振り分けて複製させるところで詰まってます…。何かアドバイスをいただけないでしょうか
;; C-M-Up , C-M-Down 行またはセレクションを複製 (一部未完成)
;; http://blue.ribbon.to/~aotororo/prog/200310.html#d08_t4 を改造
(defun duplicate-selection-down (&optional (n 1))
"行またはセレクションを n 行上に複製"
(interactive "*p")
(let ((pre-selection-type (get-selection-type)) (column (current-column)))
(unless pre-selection-type (goto-bol) (start-selection 1 t) (or (forward-line 1) (progn (goto-eol) (insert #\LFD))))
(selection-start-end (beg end)
(when (and (goto-char end) (bolp) (goto-char beg) (bolp))
(insert (prog1 (buffer-substring beg end)
;; (if (> n 0) (progn (goto-char beg) (forward-line -1)))
(when pre-selection-type (start-selection pre-selection-type t))))
(unless pre-selection-type (forward-line (if (> n 0) -2 -1)) (goto-column column))))))
- ;; つづき
(defun duplicate-selection-up (&optional (n 1))
"行またはセレクションを n 行下に複製"
(interactive "*p")
(duplicate-selection-down (- n)))
(global-set-key #\C-M-Up 'duplicate-selection-down)
(global-set-key #\C-M-Down 'duplicate-selection-up)
- 調子のってたらどうしてもcookie読み込めなくなってやりなおし、まじかよw
- >>918
Win7 x64 と xyzzy 0.2.2.235 でやったけど再現しないYO
- ゲイツキーからデフォキー設定に慣れようかと思ってるんだけど、難しいな
- >>924
しばらくいじってれば慣れるよ。
俺はxyzzyなどEmacs系エディタはemacs準拠のバインドで、
その他のエディタ類は全ていわゆるダイヤモンドカーソルで使ってる。
(vi系はvi系で、って当たり前だな)
- 懐かしいなダイヤモンドカーソル…!
wordstar?だっけ?
- xyzzyでダイアモンドカーソルだけよりも
ダイアモンドカーソル+通常カーソルキーの方が便利だと知った
- >>920
とりあえず別々に作ってみては?
- ダイヤモンドカーソルかぁ
98で使ってたMifesをダイヤモンドカーソルで使ってたな
- >>919
うまく動いたようでよかったです。
御存知かもしれませんが、一応したらば、まちBBSが見られるようになる修正を作っています。
スレを見て書き込みする位しかできませんが…
http://xyzzy.s53.xrea.com/wiki/index.php?tips%2F2ch-mode%20%A4%B7%A4%BF%A4%E9%A4%D0%A1%A6%A4%DE%A4%C1BBS%C2%D0%B1%FE
久しぶりにまちBBSを見てみたら、あぼーんレス(【文字化け】と表示されるやつ)があるスレが見られないことに
気がついたので直しておきました。誰も困っていなかったってことはもう使っている人はいないのかな…。
ちなみにスレを開いた時や、追っかけスレ一覧を更新した時などに追っかけスレ一覧に表示しているレス数を更新
するようにも修正しましたが、ちょっとしょぼい実装なのでHDDアクセスが多量になる可能性があります。
これじゃ使えないという場合は言ってください。追っかけスレ一覧更新時のレス数更新の部分の処理を削除します…
あ、後、~/.2ch/trackingディレクトリ下にあるファイルと~/.2ch/tracking.txtのバックアップを取っておいてください。
追っかけスレのデータをいじるので万が一追っかけスレのデータが消えてしまうとダメージでかすぎるので…
>>922
(((;゚Д゚)))
…自分のcookie処理の実装を使っている方、同じような結果になってしまったらすみません('A`)
- あ、バグ作りこんでる…('A`)
↑のページにバグ内容について追記したので、それでもOKって人だけ使ってください…
- 励ましスレもういらんか?合併でいいか
ってかこのスレはまだいるよな・・・
- >>930
ありがとうございます。
2ch_mode_otherbbs.l 入れ替えてみました。
> スレを開いた時や、追っかけスレ一覧を更新した時などに、追っかけスレ一覧に表示されているレス数を更新するように修正。
これは以前どこかで拾ったパッチを手で当てて実現できていたんですが
(詳しいことはすっかり忘れた)、2ch_mode_otherbbs.lを入れ替えたら
> 追っかけスレのレス数が更新されるとカーソルが左上に移動してしまう
症状が出るようになってしまいました。
2ch_mode_otherbbs.l内でいろいろ関数を上書きしてらっしゃるんですね。
どこに違いがあるのかこれから比較してチェックしてみます。
- >>933
ありがとうございます…まだ使ってくださっている人いたんだなぁ(⊃д`)
ついさっき直して上げてみたので入れ替えてみてもらえませんでしょうか?
- >>933
うわぁなんか変だと思っていたら追っかけスレの行反転が追っかけスレのリロードによって消えちゃってた…
これも直しました。毎度ぐだぐだですみません('A`)
otherbbsは2ch-modeの既存の関数をコピペして再定義して、
その関数を修正してそこから独自の処理へ分岐させたりしてるって作りですね。
なのでもともとの2ch-modeと半ば融合しちゃってる感じなので
2ch-modeが修正されるとotherbbsも思いっきり影響を受けちゃいます(´Д`)
- ATOKを2011にしたら、再変換できなくなってしまった。
他のソフト上なら何ら問題無し。 同様な人いる?
- うちはできてるな
- >>937
レスありがとう。
そっか、となるとこちらの環境が悪いのかな。
ちなみにWin7 x64+ATOK2011。64bitなのが原因だろうか。
xyzzy-0.2.2.235.lzhを解凍した直後の真っ新な状態でも変換できないから、
どこから手をつけていいものやら。
「IMEの再変換をする」には勿論チェック入ってるのだけど。
- 俺のはXPだからな
- Atok2011はEmEditでも固有の問題出てた(Atok側の問題だそうだ)ようだし、色々あるのかもね
ttp://support.justsystems.com/faq/1032/app/servlet/qadoc?QID=049721#kaihi
一応今出てるうpだてに対象の問題はないようだけど
- >>940
アップデートしてみたけど、ダメだった。
他には、ブラウザ(Opera)でも再変換できなかった。
ググったら、Chromeとかでも再変換できない問題があるみたい。
相性と思って諦めるかな。そんなに頻繁に使う機能ではないし。
- xyzzyでの正規表現の表現がわかりにくいためregexp-quoteで変換した文字列をマッチに使おうとしたのですが
意図したようにマッチしません
このような用途でregexp-quoteを使うものではないのでしょうか?
(string-matchp "\\.\\(idiot\\|fuck\\|damn\\)\\(\\.\\w+\\)?$" "you/are/bitch.idiot.fool") ; わかりにくい
13 ; マッチする
(regexp-quote "\.(idiot|fuck|damn)(\.\w+)?$") ; 比較的わかりやすい
"\\.(idiot|fuck|damn)(\\.w\\+)\\?\\$"
(string-matchp "\\.(idiot|fuck|damn)(\\.w\\+)\\?\\$" "you/are/bitch.idiot.fool")
nil ;マッチしない
(string-matchp (regexp-quote "\.(idiot|fuck|damn)(\.\w+)?$") "you/are/bitch.idiot.fool")
nil ;同じくマッチしない
- regexp-quoteの出力を見れば分かるじゃん?
ってのはともかく、自分もそういうのはあるとうれしいので、
macro characterでいけるはずと探してみたら見つかった。
http://mihai.bazon.net/blog/hashes-and-raw-strings-in-common-lisp
#Rはすでに使われてるから#Qにでもして:
(string-matchp #Q"\.\(idiot\|fuck\|damn\)\(\.\w+\)?$" "you/are/bitch.idiot.fool")
13
Hooray!
- >>942
regexp-quoteは正規表現のメタ文字をエスケープして、
メタ文字としては機能しないようにするためのもの。
例えば「.」は任意の一文字ではなくピリオドにマッチし、
「$」は行末ではなくドル記号にマッチする。
- ああああああああああ!!!
なるほど
(regexp-quote "\.(idiot|fuck|damn)(\.\w+)?$")
↓
"\\.(idiot|fuck|damn)(\\.w\\+)\\?\\$"
この結果は
\.(idiot|fuck|damn)(\.w\+)\?\$
こうなるので ? や $ や + が正規表現のメタ文字にならないためにマッチしないんですね
逆にこうならマッチするわけですね
(string-matchp "\\.(idiot|fuck|damn)(\\.w\\+)\\?\\$" ".(idiot|fuck|damn)(.w+)?$")
0
(string-matchp (regexp-quote "\.(idiot|fuck|damn)(\.\w+)?$") ".(idiot|fuck|damn)(.w+)?$")
0
- >>943
おおおすごい
そんな方法があるんですね
そのページを見て自分が正規表現リテラルが欲しかったんだとわかりました
- >>946
参考ってことで
ttp://d.hatena.ne.jp/youz/20101003/1286124276
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2Fperl%C9%F7%C0%B5%B5%AC%C9%BD%B8%BD%A4%F2xyzzy%CD%D1%A4%CB%CA%D1%B4%B9
- xyzzyを使っていると、他のエディタで
これがすごい!軽い!効率アップ!とか言われても
ピンと来ない。xyzzyユーザが驚くようなエディタってある?
まあ乗り換えはしないだろうけど。
- 一度だけ、Grepかけるときにどうしても正規表現で改行を含まないといけなくて、
(xyzzyではうまくできなかった)
NoEditorだったかな、それの付属のGrepソフトで出来たときにはちょっと感動した記憶が
その時ぐらいかな
- >>948
emacsのanything.elに驚いたくらいかなぁ。
バッファの選択とファイルのオープンは共通でいいやんってのにはなるほどと思った。
- >>949
エスケープシーケンスを理解しろ にチェックを入れて
LINE1\nLINE2
でいけるはずだが
- >>948
最近のntemacsは、昔に比べて処理速度がかなり上がっていて驚いたかな
(たらい回し関数調べ)
あとデバッグ環境は結構快適だった
vimは、プログラム組むにはなかなか便利だったかな
意外とカーソルの移動や編集が快適だった
EmEditorは、TeXのプラグインの出来が良くて感動した
でも、もしxyzzyが使えなかったら、と思って一応代替を探しているんだけど、
これ位快適なのは見つからないな〜
ちなみにKaaEditに、pythonでxyzzyみたいなことができるのか!?と
期待したんだけど、手にはいらなかった
- 失礼ちょっとした質問なのですが、
popup-mode-memoでマイナーモードにぷっぷアップする類に備忘録メモを追加できないかと企んでいます。
サンプルにあったメジャーモードでの表示は確認しました
(popup-mode-memo-add-new
'markdown-mode
以下続く
)
このような場合にmarkdown-modeに切り替えて、popup-mode-memoを発動しても、
上記のメモ以外は表示されますが、上記のメモがどうしても表示されません。
うまくマイナーモードでも表示する方法はないでしょうか?
# markdown-modeがなぜマイナーモードなの?とかmarkdown-mode、色付けがないよ(´;ω;`)
という問題はありますが、またあとで
- >>953
今のところ実装してないようです。
popup-mode-memo.l に以下のように書いてあります。
> ;; Memo
> ;;
> ;; ・minor mode に対するメモを実装していない。
- >>954
Licenseの上に書いてありました!!
minor mode bindingsの記述があったので、minor modeのキーが表示されますが、
メモの表示は対応していなんですね
ありがとうございました
一旦諦めます
- ; 以降をコメントにするマクロ
文字列が行の先頭からはじまって : 出終わるまでを(Cのラベルのようなもの)に色をつけるマクロ
を教えてください
- >>956
http://xyzzy.s53.xrea.com/reference/wiki.cgi?p=regexp-keyword-list
- USB起動用bat書いたのでup
パッチ当てなくても何とかなるもんだね。
xyzzy.bat:
@echo off
set XYZZYHOME=%~dps0home
set XYZZYCONFIGPATH=%~dps0usr
start xyzzycli -image xyzzy.dump %*
- >>958 修正
xyzzy.bat:
@echo off
set XYZZYHOME=%~dps0home
set XYZZYCONFIGPATH=%~dps0usr
cd %~dps0
start xyzzycli -image xyzzy.dump %*
- ファイル名が半角スペースで始まるファイルを開くと
タブにもバッファ選択にも出てこないのは何でなの〜?
- ほんとだw
今まで気付かんかったなー
- >>960
バッファ名の先頭がスペースのときは
いわゆる非表示バッファになるので仕様になるんじゃないかな。
- バッファを固定することって出来ない?
2ch専ブラでいうタブ固定みたいなの。
- さすがに作者が手を加えないと廃れそうな今日この頃だ。
- sourceforge でメンテしようぜ
みたいな話が昔登ってたけど、結局あれから誰も手を付けてないの?
- xyzzyのメンテって、c++とlispの両方に精通していないと難しいのかな
普通のテキストエディタならともかく、common lispの処理系を積んでいるようなものだから
それ相応のスキルが必要だと思う
- 本体はまあ今のままでもいいんだけど、
サイト閉鎖等で拡張lispが消えていってるのが痛い
- もうEmacs使えよ!
ということか?xyzzyの開発も止まったし。
- WindowsでEmacs…
何度か挑戦してるけど、結局xyzzyに戻って来ている
LinuxならEmacsで何も問題ないんだけどな
xyzzyを知らなければEmacsで満足していたかもしれない…
- Navi2chか…2ch-modeよりはメジャーかな?
- 外人巻き込んだコミュニティを作るのが一番な気がする。
- 各国語に別Lispを配布ってのは手間がかかり過ぎるから
i18nをどこかで実装しないとだめだよね。
…俺にはスキルが足りない。
- hookが存在しない時はソースいじるか諦めるしかないのかな?
rename の直後に操作したいんだけど、 *after-rename-buffer-hook* がなくて困っとります。
- >>973
hoge-rename つくって、キーバインド を設定すればOK
- あー、save-as-dialog でも使っているから、
site-lisp に rename コピーして、自分で
好きなように再定義する方がベターかも
- >>975
まちがえた 973 → 974 です
- そういうときはencap.lという拡張にお世話になってる。
- >>969
自分と同じだw
むしろlinuxでもxyzzy使いたい
- 励ましあうスレがなくなってもなんとも思わん新参ばっかり?
でもユーザーが入れ替わってるってことはないよな
- 悪いが980突破させてもらう
- さらば
- Ubuntuでxyzzyを動かしたらとりあえず動いた。。。
けどやっぱりこの開発の止まったxyzzyだと、
もう見限ったほうがいいのかもしれない。
- 開発が止まったって
別に起動しなくなるわけじゃないからなあ
- >>967の言うように、site-lispがどんどん消滅していくのがキツいわ。
- まあWindows自体、開発止まってるようなもんだしな、みんなの心の中で。
- >>982
wineで一応動くんだよね
win32 apiで作られているから、wineと相性いいのかもね
xyzzyは開発止まってるけど、動かなくなったら、動かす人が出てくるんじゃないかと思う
このスレみてる人も、C++とlisp使う人結構いるんじゃないかな
- テンプレでも考えますか。
こんな感じ?
亀井さん作成のエディタxyzzyのスレです。
過去ログや関連サイトなどは>>2-5あたり。
・謎のぺぇじ -- 作者の亀井氏のページ
http://www.jsdlab.co.jp/~kamei/
・XyzzyWiki -- 非公式まとめWiki
http://xyzzy.s53.xrea.com/wiki/?FrontPage
・XyzzyWiki -- NetInstaller/配布パッケージ一覧
http://xyzzy.s53.xrea.com/wiki/?NetInstaller%2F%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%B0%EC%CD%F7
・xyzzy Mailing List Archive
http://hie.s64.xrea.com/xyzzy/ml/
・QandA -- FAQみたいなもの
http://xyzzy.s53.xrea.com/qanda/
・reference -- 関数リファレンス
http://xyzzy.s53.xrea.com/reference/
・xyzzy Lisp Programming -- M.hiroi氏によるlispでプログラミングを楽しもうのページ
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
・HIE no xyzzy -- 日江氏によるTipsまとめ
http://hie.s64.xrea.com/xyzzy/
・Junk Scripts -- 2ch-mode,NetInstaller,KaMailV3の作者服部氏のページ
http://www7a.biglobe.ne.jp/~hat/
・silog -- ac-mode,snippet,complete+の作者snj14氏のページ
http://white.s151.xrea.com/wiki/
- 過去ログ
Part1 http://yasai.2ch.net/win/kako/979/979930156.html
Part2 http://yasai.2ch.net/win/kako/994/994321779.html
Part3 http://pc.2ch.net/win/kako/1001/10017/1001707308.html
Part4 http://pc.2ch.net/win/kako/1008/10080/1008057054.html
Part5 http://pc.2ch.net/win/kako/1013/10130/1013042550.html
Part6 http://pc3.2ch.net/win/kako/1019/10196/1019691417.html
Part7 http://pc3.2ch.net/win/kako/1032/10329/1032910212.html
Part8 http://pc2.2ch.net/win/kako/1041/10416/1041613876.html
Part9 http://pc5.2ch.net/win/kako/1053/10538/1053880433.html
Part10 http://pc5.2ch.net/test/read.cgi/win/1067394259/
Part11 http://pc5.2ch.net/test/read.cgi/win/1085301777/
Part12 http://pc8.2ch.net/test/read.cgi/win/1103400818/
Part13 http://pc8.2ch.net/test/read.cgi/win/1127783135/
Part14 http://pc11.2ch.net/test/read.cgi/win/1148990686/
Part15 http://pc11.2ch.net/test/read.cgi/win/1175649315/
Part16 http://hibari.2ch.net/test/read.cgi/win/1209098133/
テンプレは以上です。
- とりあえず消えた拡張lispのうち
ライセンス上の問題がないものだけでも、どこかに保存しておこう
- EmEditorを買いなさい。xyzzyなぞゴミ。
- EmEditorにゴミ言われた…w
- >>990
EmEditorはいいエディタだと思う。
移行できる人は移行したら良いと思う。
Lisp モードがないみたいだからオレは無理だけど。
- TeX使う分には問題ないしこのままでイクッ!
- 消えた拡張lispって具体的にはなんだっけ?
- hexlとか?
- 使ってないけどtterm.lとか
- お
- わ
- れ
- な
い
。
次スレ
http://hibari.2ch.net/test/read.cgi/win/1303662374/
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。