トップページunix
990コメント300KB

Emacs Part 39

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2011/11/29(火) 17:50:44.24
前スレ

Emacs Part 38
http://hibari.2ch.net/test/read.cgi/unix/1308635178/
0243名無しさん@お腹いっぱい。2011/12/28(水) 12:06:07.16
> auto-completeの作者はanythingアンチっぽいな
これソース何?その人のブログとか読んだ限りじゃanythingユーザっぽいんだが…
0244名無しさん@お腹いっぱい。2011/12/28(水) 12:27:14.73
過剰反応
0245名無しさん@お腹いっぱい。2011/12/28(水) 13:25:04.41
>>235
redo.elで検索
0246名無しさん@お腹いっぱい。2011/12/28(水) 14:35:05.68
技術のある人はanythingを使わない(キリ
技術のある人はるびきち本などクソだと思っている(キリッ
vim・nviなどviではない(キリリッ
0247名無しさん@お腹いっぱい。2011/12/28(水) 16:01:44.06
/*
test
hoge
test
hoge
*/
これ全体にヒットするelispの正規表現はどのようなものでしょうか?
/\\*[\\n.]+\\*/ と書いたのですがヒットしませんでした
0248名無しさん@お腹いっぱい。2011/12/28(水) 16:12:30.51
> /\\*[\\n.]+\\*/

bracket (文字クラス) の中では . の意味は失われて通常文字になる。

(re-search-forward "/\\*\\(\n\\|.\\)*?\\*/")

でとりあえずマッチする。
コメントみたいなのに正規表現はあんまりよくないんじゃないかね。
0249名無しさん@お腹いっぱい。2011/12/28(水) 16:18:39.47
> コメントみたいなのに正規表現はあんまりよくないんじゃないかね。

よくないって書いたのはコメントが大きくなってきたときに正規表現がオーバー
フローするって意味です。ちょっとした利用なら気にしなくていいはずです。
02502472011/12/28(水) 16:25:53.05
ありがとうございます。わかりました。
0251名無しさん@お腹いっぱい。2011/12/28(水) 17:20:48.37
るびきちとご飯を食べる会とかやってるみたいだし
elisp書いてる界隈は総じて仲良いように見えるけどな。
anything!!anything!!ってプッシュしてなきゃあの人も色々面白い記事かくいい人だと思うよ。
0252名無しさん@お腹いっぱい。2011/12/28(水) 17:29:19.67
どんないい記事かこうとあの情報商材みたいな文章の羅列ですべて台無しだよ。
どっかの大学にでも勤めて真っ当な研究でもすればいいのに。いや無理か。。
0253名無しさん@お腹いっぱい。2011/12/28(水) 17:30:56.46
うるせえ、創造的破壊するぞ
0254名無しさん@お腹いっぱい。2011/12/28(水) 17:33:59.06
イノベーション()
0255名無しさん@お腹いっぱい。2011/12/28(水) 17:38:16.02
そうだね
倭猿ごときがEmacsの伝道師なぞ恐れ多いわ
0256名無しさん@お腹いっぱい。2011/12/28(水) 17:41:26.13
Lisp方言ならまかせろー!ならまだいいんだけど
たかだか1エディタの設定だけだもんな
0257名無しさん@お腹いっぱい。2011/12/28(水) 17:46:11.19
もうちょっと手広くやればいいのにね。
Emacsだけで食べるなんて無理だよ。
100ユーザ集ったとか悪いけど嘘くさすぎる。
0258名無しさん@お腹いっぱい。2011/12/28(水) 17:48:25.85
まだ本業のrubyがあるからあわてる時期じゃない
0259名無しさん@お腹いっぱい。2011/12/28(水) 17:50:15.62
そういえば設定本にviewer.elでview-modeのmode-lineを色付けして
他のモードと区別しやすくしようなんてページがあったのだけど

載ってるスクショが白黒だた
0260名無しさん@お腹いっぱい。2011/12/28(水) 17:53:07.29
>>258
最後の ruby kaigi に参加したとき自分の中でrubyは三年前のままで時間が止まってるとかほざいてたぞ。
お前その名前詐欺だろと思ったわ。
0261名無しさん@お腹いっぱい。2011/12/28(水) 17:55:39.93
>>259
ズコーw
0262名無しさん@お腹いっぱい。2011/12/28(水) 17:57:45.09
お前ら文句いいつつもしっかり本買ってるあたり、るびきちのことなんだかんだいって好きだよな
0263名無しさん@お腹いっぱい。2011/12/28(水) 17:58:27.22
嫌いです。
0264名無しさん@お腹いっぱい。2011/12/28(水) 17:58:35.12
ひとくくりにされてもな。
0265名無しさん@お腹いっぱい。2011/12/28(水) 18:03:04.34
Elisp本はLisp遊びで充分です
0266名無しさん@お腹いっぱい。2011/12/28(水) 18:04:38.74
リスト遊びか?
0267名無しさん@お腹いっぱい。2011/12/28(水) 18:18:48.69
俺らるびきちなんて格下興味ないからな
0268名無しさん@お腹いっぱい。2011/12/28(水) 18:23:38.65
lisp遊びなんてでてたんや
0269名無しさん@お腹いっぱい。2011/12/28(水) 18:54:32.36
山本さんのじゃなくて?
0270名無しさん@お腹いっぱい。2011/12/28(水) 18:57:51.43
>>264
なあ。俺らはるびきち本がどんなにつまらん内容か確認するためだけに買ってその後捨てたわ。
0271名無しさん@お腹いっぱい。2011/12/28(水) 19:17:33.42
せめてbookoffに。
0272名無しさん@お腹いっぱい。2011/12/28(水) 19:24:54.32
少しでも無意味な本が世に出回らんようにという配慮だ
emacswikiもいらん、このスレだけで十二分だ
0273名無しさん@お腹いっぱい。2011/12/28(水) 19:41:22.07
俺なんか間違ってあんな本を買うやつが出ないように近くの本屋で買い占めたからな
0274名無しさん@お腹いっぱい。2011/12/28(水) 19:49:32.87
山本さんは今ではHaskellの人というイメージやな
0275名無しさん@お腹いっぱい。2011/12/28(水) 20:39:36.16
お前らかずさんのことを悪く言うのか
0276名無しさん@お腹いっぱい。2011/12/28(水) 20:42:01.54
emacswiki面白いけどなあ。

>>273
俺も買い占めは出来なかったけどせめての布教防止にと2冊買った。
0277名無しさん@お腹いっぱい。2011/12/28(水) 22:27:24.40
だれもkazuさんのことを悪く言ってない
悪く言われているのは……
0278名無しさん@お腹いっぱい。2011/12/28(水) 22:39:30.78
なんでルビキチって叩かれてるの?
0279名無しさん@お腹いっぱい。2011/12/28(水) 22:44:46.33
一流のスポーツ選手ほど叩かれる
つまりそういうことだ
0280名無しさん@お腹いっぱい。2011/12/28(水) 22:46:15.31
つまりルビキチは神ってことすか?
0281名無しさん@お腹いっぱい。2011/12/28(水) 22:49:10.02
神キチ
0282名無しさん@お腹いっぱい。2011/12/28(水) 23:06:09.34
キチさんってruby時代から叩かれてるよね
あの頃は顔写真まで使って叩いてて酷いと思った
0283名無しさん@お腹いっぱい。2011/12/28(水) 23:07:47.51
アクの強いキャラクターだからなあ
別に悪人じゃないし色々貢献している人ではあるんだけど
0284名無しさん@お腹いっぱい。2011/12/28(水) 23:12:26.85
いったい何に貢献してるんだ?
最近anything連呼してるだけじゃん。
0285名無しさん@お腹いっぱい。2011/12/28(水) 23:13:51.02
個人的にはjplの人が一番偉いと思ってる
0286名無しさん@お腹いっぱい。2011/12/28(水) 23:14:14.58
設定本では「筆者が開発している」anythingだったのが
elisp本では「筆者がメンテナンス・開発している」anythingになっていた
ちなみに原作者の名前はまったく出てこない。まさに神の御業である
0287名無しさん@お腹いっぱい。2011/12/28(水) 23:45:54.41
るびきちが残念なのはemacsの枠内でだけ考えていること
anything.elもなんだかんだ言って既存のemacsスクリプトを取り込んで拡張していったから
自ずと限界は見えてしまう

anything.elがemacsの諸ライブラリの統合だと主張するのはわかったから
つぎはvimとemacsの統合というか融合の形を見せてほしい
0288名無しさん@お腹いっぱい。2011/12/28(水) 23:49:42.01
なんだそりゃ
0289名無しさん@お腹いっぱい。2011/12/28(水) 23:55:24.14
viperでいいのでは
0290名無しさん@お腹いっぱい。2011/12/29(木) 00:01:08.69
いちおうるびきちのブログみる感じだとemacs内で閉じるのは×で
外部プログラム使おうぜって主張だったと思うけど。

正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
ただ外部プログラム呼ぶと他の環境に移る時めんどくさい。
0291名無しさん@お腹いっぱい。2011/12/29(木) 00:35:35.93
>>290
>正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
詳しく聞きたい
0292名無しさん@お腹いっぱい。2011/12/29(木) 00:40:34.06
俺達って、もう Emacs だけで第一線張っていくの無理なのかな……(涙
なんとか言ってくれよ誰か!俺達が…俺達が費した青春は何だったんだよ!
0293名無しさん@お腹いっぱい。2011/12/29(木) 00:47:03.98
url.el が糞な点

・POSTメソッドをサポートしてない
・非同期接続時にタイムアウト指定できない
・接続待機はコンパイル時のオプション次第によっては非同期にならない

これはあかんよ。
0294名無しさん@お腹いっぱい。2011/12/29(木) 01:06:16.02
>>293
postメソッドについては知らなかった
そうだったのか
0295名無しさん@お腹いっぱい。2011/12/29(木) 11:50:02.70
モードラインに現在のバッファの最大行数を常に表示するのにはどうしたらいいんですか?
02962352011/12/29(木) 12:39:55.01
外部プログラムに頼りたくないので>>239さんの
M-- M-y
を使いたいと思います。
みなさんありがとうございました。
0297名無しさん@お腹いっぱい。2011/12/29(木) 12:49:16.97
define-generic-modeの初期化関数リストの部分で
(custom-set-faces
'(font-lock-keyword-face ((t (:foreground "yellow")))))
のようにすると他のモードにも色が反映されてしまうのですが、
任意のモードのときにのみ特定の色をつけるということは可能でしょうか
0298名無しさん@お腹いっぱい。2011/12/29(木) 13:09:33.71
>>297
デフォルトのfaceを使いたくない場合は、自分でfaceを作って
font-lock に教えてあげる必要がある。
特定のフェイスの色をバッファ毎に置き換える方法はちょっと分からない。

(make-face 'hogehoge-green-face)
(set-face-attribute 'hogehoge-green-face nil :foreground "green")

(make-face 'hogehoge-red-face)
(set-face-attribute 'hogehoge-red-face nil :foreground "red")

(font-lock-add-keywords 'hogehoge-mode
'(("^GREEN: .*" . 'hogehoge-green-face)
("^RED: .*" . 'hogehoge-red-face)))

んで、
generic-mode の場合は generic-make-keyword-list って関数があって、
これだとキーワードのリストに対して任意の face を指定出来るみたいだからこっち使ったほうがいいのかもね。
詳しい使い方は関数のヘルプをみてちょうだいな。
0299名無しさん@お腹いっぱい。2011/12/29(木) 13:11:14.19
typo だ。
× generic-make-keyword-list
○ generic-make-keywords-list
0300名無しさん@お腹いっぱい。2011/12/29(木) 14:34:09.80
kbd マクロに変数を渡すとエラーになってしまいますが
どうしても変数を渡したい場合は以下の方法しかないんでしょうか?
(setq a "C-c a")
(kbd a) ;; => (wrong-type-argument integer-or-marker-p a)
(eval `(kbd ,a)) ;; => "^C"
0301名無しさん@お腹いっぱい。2011/12/29(木) 14:57:49.13
横レスだけど

(macroexpand '(kbd a))

>Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p a)
となるのはなぜなのだろう?
(macroexpand '(dolist (x '(a b c)) (print x)))
は問題ないのに
0302名無しさん@お腹いっぱい。2011/12/29(木) 15:32:41.59
なんでって質問にはなかなか答えられないかもしれない。。
lisp reader作っちゃうような真性lisperの集まるスレに行って聞くといいかも。
プログラム板のschemeとかclとかの。

>>300
(setq a "C-c a")
(read-kbd-macro a)

ってやっちゃうととりあえず願いは叶うんだろうけど、これじゃ不満だろうか?
kbd はシンタックスシュガーな気がするしループの中でなんかするとかそうい
う使い方じゃないんじゃなかろうか。
0303名無しさん@お腹いっぱい。2011/12/29(木) 15:49:18.27
>>301だけどありがとう
なるほど
0304名無しさん@お腹いっぱい。2011/12/29(木) 16:11:41.68
>>301
macroexpandはマクロを実行するものだから。
マクロというのはありえいにいえば処理系に置き換えてもらいたい式を返す関数。
この場合 (kbd 'a) が実行される。
0305名無しさん@お腹いっぱい。2011/12/29(木) 16:30:54.88
elispを編集中にカーソル下の関数の説明を見るにはどうすればよいですか?
0306名無しさん@お腹いっぱい。2011/12/29(木) 17:34:09.08
>>305
describe-function
C-h をバックスペースにしてなければ C-h f
0307名無しさん@お腹いっぱい。2011/12/29(木) 19:30:33.63
>>306
ありがとうございました。
0308名無しさん@お腹いっぱい。2011/12/29(木) 20:03:41.81
メジャーモードやマイナーモードで
1タブあたりの半角空白の数を指定するにはどうするのですか
0309名無しさん@お腹いっぱい。2011/12/29(木) 20:14:26.30
(add-hook 'なんかの-mode-hook
(lambda () (setq tab-width 4)))
0310名無しさん@お腹いっぱい。2011/12/29(木) 20:17:02.17
(add-hook 'hoge-mode-hook
(lambda ()
(set (make-variable-local 'tab-width) 10)
(set (make-variable-local 'tab-stop-list) '(10 20 30 40 50 60 70 80 90))))
0311名無しさん@お腹いっぱい。2011/12/29(木) 20:17:19.76
間違い
make-local-variable だった。
0312名無しさん@お腹いっぱい。2011/12/29(木) 20:35:18.17
>>309
できました。
0313名無しさん@お腹いっぱい。2011/12/29(木) 20:45:44.21
初心者質問増えた気がするのはrubikitch本の影響なのかなぁ。
0314名無しさん@お腹いっぱい。2011/12/29(木) 21:07:39.90
http://www.mag2.com/m/0001373131.html
るびきちの経歴をはじめて見た気がする
0315名無しさん@お腹いっぱい。2011/12/29(木) 21:08:33.99
>>313
Software Design とかで Emacs の特集くまれたのも関係してるのかもね。
0316名無しさん@お腹いっぱい。2011/12/29(木) 21:08:33.89
るびきちは責任もってにわかの処理をしろ
0317名無しさん@お腹いっぱい。2011/12/29(木) 21:14:15.30
とりあえず anything 使っとけで OK

0318名無しさん@お腹いっぱい。2011/12/29(木) 21:16:33.71
Emacs をこれからわざわざ使い始める必要はないと思うけどなあ。

Emacsのキーバインドは呪いだぞ。下手になれるとずーーーーーっと付きまとわれる。
0319名無しさん@お腹いっぱい。2011/12/29(木) 21:17:07.28
小指が痛いのは呪いのせいだぜ。
0320名無しさん@お腹いっぱい。2011/12/29(木) 21:35:38.97
>>316
http://www.mag2.com/m/0001373131.html

で500yen/1month払った人の相手は責任もってやります。
0321名無しさん@お腹いっぱい。2011/12/29(木) 21:39:04.70
内容読んでないからわからないけど
むしろ入門書よんでたら describe-function とかタブ幅設定知らないってことはないんじゃないのか?
0322名無しさん@お腹いっぱい。2011/12/29(木) 21:39:34.05
http://www.mag2.com/m/0001373131.html
> 【月額512円】 1配信あたり約 512円

これが525円? ぼったくりにもほどがある。
0323名無しさん@お腹いっぱい。2011/12/29(木) 21:53:46.94
512って書いてあんじゃん!
0324名無しさん@お腹いっぱい。2011/12/29(木) 21:54:34.37
消費税の魔力は恐ろしいな。
0325名無しさん@お腹いっぱい。2011/12/29(木) 22:04:44.97
テンプレに初心者はるびきちに聞けって入れとうこうぜ
0326名無しさん@お腹いっぱい。2011/12/29(木) 22:17:21.39
inhibit-startup-echo-area-message ってなんでわざわざあんなめんどくさい仕様なの?
0327名無しさん@お腹いっぱい。2011/12/29(木) 22:20:05.18
バイトコンパイルで動作が速くなるというのは.elと比べて
起動時の読み込み処理+起動後の処理の両方が速くなるということでしょうか
0328名無しさん@お腹いっぱい。2011/12/29(木) 22:23:48.15
読み込みが早くなるだけで実行速度はかわらないんでないの。
読み込んだ後にどうせ内部的にコンパイルしているわけだし。
0329名無しさん@お腹いっぱい。2011/12/29(木) 22:49:44.35
いや、計算が多いコードだと明らかに速くなるよ。
0330名無しさん@お腹いっぱい。2011/12/29(木) 23:14:35.22
現行のバイトコンパイラはlucid製の最適化コンパイラで実行速度も速い。
03313272011/12/29(木) 23:28:18.08
分かりました
0332名無しさん@お腹いっぱい。2011/12/30(金) 11:12:48.18
キャラクタセット毎にフォントを指定する時の疑問なんですが、
(set-fontset-font "xxx" 'japanese-jisx0208 "SomeFont") みたいに直接指定するのと
(set-fontset-font "xxx" 'japanese-jisx0208 (font-spec :family "SomeFont"
:registry "unicode-bmp" :lang 'ja))
みたいにfont-specで指定するのってどう違いがあるんでしょう?
0333名無しさん@お腹いっぱい。2011/12/30(金) 11:18:48.69
set-fontset-font is a built-in function in `C source code'.
(set-fontset-font NAME TARGET FONT-SPEC &optional FRAME ADD)

FONT-SPEC may one of these:
* A font-spec object made by the function `font-spec' (which see).
* A cons (FAMILY . REGISTRY), where FAMILY is a font family name and
REGISTRY is a font registry name. FAMILY may contain foundry
name, and REGISTRY may contain encoding name.
* A font name string.
* nil, which explicitly specifies that there's no font for TARGET.
0334名無しさん@お腹いっぱい。2011/12/30(金) 11:44:46.71
ということは、SomeFont の特定の registry に属するものだけ指定したい場合とかだけ
font-spec 使ったり cons セル渡したりすれば良いということなんですね。

font と fontset の仕組みがなかなか理解できないなぁ・・・
list-fontsets で出てくるフォントセット名って必ずしもそこで指定された family に属してるフォントだけってわけでもないんですよね。
0335名無しさん@お腹いっぱい。2011/12/30(金) 12:15:08.17
> フォントセット名って必ずしもそこで
「そこ」ってどこよ? set-fontset-fontの事?

フォントセットはcreate-fontset*で作成し、その時にフォントセット名を指定する。
set-fontset-fontで指定してないフォントセット名がリストされても何も不思議じゃないんだが。
0336名無しさん@お腹いっぱい。2011/12/30(金) 12:29:14.72
>>335
create-fontset* したときにフォントセット名を未指定だと
そのフォントの XLFD がフォントセット名になるじゃないですか。

それがあったから自分にはわかりづらかったんですよ。
なんで Family が * じゃないのに別の Family のフォントが使えるの???みたいに。
フォントセット名って結局は単純に名前なだけで内容は別に XLFD とは関係ないってことなんですよね。
0337名無しさん@お腹いっぱい。2011/12/30(金) 12:50:29.54
set-frame-font等でフォントファミリーで指定することもできるので無関係というわけでもない。
0338名無しさん@お腹いっぱい。2011/12/30(金) 12:55:33.81
正月休みに読もうと、図書館でるびきち本を借りようとしたら貸し出し中だった
自分以外にも買わないで済ます奴がいるんだなw
0339名無しさん@お腹いっぱい。2011/12/30(金) 13:23:40.98
本屋で平積みになってたので
上に『いまどきのアセンブラプログラミング』を乗せてきた
0340名無しさん@お腹いっぱい。2011/12/30(金) 14:29:28.44
いまどきのアセンブラプログラミングちょっと気になるな

とおもって書評見に行ったらメタクソでワロタ。
中身もトンデモだった。
0341名無しさん@お腹いっぱい。2011/12/30(金) 14:54:17.74
キチの本は評判どうなんだろう
0342名無しさん@お腹いっぱい。2011/12/30(金) 15:00:56.70
るびきちのemacs本を2冊とも持っているけど
誤植が結構ある気がするんだよな(とくにemacs lispの方)
正誤表がネットにあればいいのに
0343名無しさん@お腹いっぱい。2011/12/30(金) 15:04:58.08
Emacsテクニックバイブルの方は正誤表あった
http://d.hatena.ne.jp/rubikitch/20100810/emacsbookerrata
Emacs Lispテクニックバイブルの方は知らん

電子書籍で販売しないあたりがオールドタイプ
■ このスレッドは過去ログ倉庫に格納されています