トップページunix
1001コメント289KB

Emacs part 21

■ このスレッドは過去ログ倉庫に格納されています
0001氷柱割り2007/01/08(月) 21:59:39
Emacsは環境だ。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
http://www.gnu.org/software/emacs/

emacs - SCM: CVS Repositories [Savannah]
http://savannah.gnu.org/cvs/?group=emacs

EmacsWiki
http://www.emacswiki.org/

Emacs 電子書棚
http://www.bookshelf.jp/

前スレ
http://pc10.2ch.net/test/read.cgi/unix/1157294692/
0538名無しさん@お腹いっぱい。2007/03/30(金) 21:50:07
MSYS入れて最新ソースをビルドする
0539名無しさん@お腹いっぱい。2007/03/30(金) 23:15:21
>>537
定番
http://www.bookshelf.jp/soft/meadow.html
0540名無しさん@お腹いっぱい。2007/03/30(金) 23:34:51
534は十分まともな回答だろ(534よりもっと色々必要だけど)。
ただこの問題は一行で済ませるにはきついので、
狭いミニバッファではなく*scratch*で書きたくなるけど。
0541名無しさん@お腹いっぱい。2007/03/31(土) 01:25:39
vi の ex モード: を使うとかなり自由に編集できるけど
emacs の M-: をそういう編集目的で使ってる人いる?
原理的にはlispで何でも書けるからはるかに自由なんだけど
記述が冗長すぎて編集を主目的にするには向いてないかもな。
0542名無しさん@お腹いっぱい。2007/03/31(土) 02:21:59
カーソルのあるバッファを対象に何かしたいことは結構多いと思うので
eval-expressionがもっと拡張されると嬉しい。
自分も普段は*scratch*で書いてyankしてるので。
0543名無しさん@お腹いっぱい。2007/03/31(土) 04:41:23
つviper-mode
0544名無しさん@お腹いっぱい。2007/03/31(土) 11:54:10
phpのなかにprint<<<EOFでHTMLがあったり、
そのなかにJavaScriptがあったりしても、
うまいこと php-mode や JavaScript-mode を切り替えてくれる
そんな便利なモードないですか?
0545名無しさん@お腹いっぱい。2007/03/31(土) 11:57:39
ないよ
0546名無しさん@お腹いっぱい。2007/03/31(土) 15:35:57
>>544
mmm-mode
0547名無しさん@お腹いっぱい。2007/03/31(土) 19:54:51
一つのコマンドに複数の作業を連続して行わせるようにはできますか?
例えば、C-aにsplit-windowした直後にother-windowを連続して行わせる、
みたいな感じです。
0548名無しさん@お腹いっぱい。2007/03/31(土) 20:06:19
できます
0549名無しさん@お腹いっぱい。2007/03/31(土) 23:22:34
それができなかったら、Emacs使ってなかっただろうな・・・
05505562007/03/31(土) 23:50:23
>>546
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
(set-face-background 'mmm-default-submode-face nil)
(mmm-add-group 'complex-html '( (html-php-embedded
:submode php-mode
:face mmm-output-submode-face
:front "<?php"
:back "?>")
(html-css-embedded
:submode css-mode
:face mmm-declaration-submode-face
:front "<style\[^>\]*>"
:back "</style>")
(html-javascript-embedded
:submode java-mode
:face mmm-code-submode-face
:front "<script\[^>\]*>"
:back "</script>")
(html-html-embedded
:submode html-mode
:face mmm-code-submode-face
:front "<<<EO\[FT\]"
:back "EO[FT];")))
(add-to-list 'mmm-mode-ext-classes-alist '(html-mode nil complex-html))

こんなかんじで書いたんだけど、java-scriptとhtml-html-embeddedがうまく動かないし、
素のphp-modeに比べて、色分けが寂しいです。
ともあれ、ヒントありがとうございました。
0551名無しさん@お腹いっぱい。2007/04/01(日) 00:42:08
>>550
>素のphp-modeに比べて、色分けが寂しいです。
(setq mmm-font-lock-available-p t)
0552名無しさん@お腹いっぱい。2007/04/01(日) 01:43:39
filladapt.elってもう時代遅れなのかな。
最近M-qがfill-columnを考慮してくれないのが
これのせいと気付いたけど、特に対処法とかwebにないのね。
0553名無しさん@お腹いっぱい。2007/04/01(日) 01:46:36
Emacsを使いこなしたいと思うんなら、modeぐらい自分で作れるようにならなきゃだめだ

って聞いたけどマジ?
Emacsenって大変なんだね
0554名無しさん@お腹いっぱい。2007/04/01(日) 01:52:49
>>552
それ漏れも前に書き込んだけど、結局いつまでたっても直らんね。

>>553
つ easy-mode
0555名無しさん@お腹いっぱい。2007/04/01(日) 02:49:14
>>553
マジだがしかし大変なことではない。コピペで済まして、モード名をちょこっと編集するだけだし。
もちろん、盛り込みたいコマンドは自分で考え作るけどな。しかしそんなの他のどんなエディタでも
同じじゃんか。Emacsだから特に難しいなんてことはないぞ。
0556名無しさん@お腹いっぱい。2007/04/01(日) 07:46:57
と言うか、モード (もしくは類似の概念) を自分で作れるエディタってそうそうないから。
0557名無しさん@お腹いっぱい。2007/04/01(日) 08:56:36
作れなきゃいけないってことはない。
使えと言われたYaTeXだけのためにバカ正直にEmacs使ってる奴だって
グダグダ語ってばかりのカスよりは「使いこなして」らあな。
コード書かない人にはglobal-font-lock-modeだって「なにそれ?」で問題ない。
Emacsのふるまいをまとめて変えたい局面がない人には
モードの作成なんていらんし
そこでどうこう言ってくる馬鹿はほっとけ。

ただし「それじゃなんでEmacsなんか使ってるの?」と聞かれたら詰まるだろうけどな
0558名無しさん@お腹いっぱい。2007/04/01(日) 09:21:57
えー、「便利だから」って答えるよ。全然答に窮しない。
0559名無しさん@お腹いっぱい。2007/04/01(日) 10:52:29
コードも書かないなら、学習に費やす時間が大きすぎるよ。
ROIが低すぎ。
それでもさらっと答えるようなヤツは、……暇があるってことか。
0560名無しさん@お腹いっぱい。2007/04/01(日) 11:14:29
「自分には難しかった」ってのを3行費やすなんて
0561名無しさん@お腹いっぱい。2007/04/01(日) 11:49:38
Emacsに限らない一般論だから。
0562名無しさん@お腹いっぱい。2007/04/01(日) 13:29:27
>>560
初日でチュートリアルの基本コマンドをおぼえたなら、賞賛。
将棋のコマの動きよりはずっと難しかったよ。。
0563名無しさん@お腹いっぱい。2007/04/01(日) 14:21:32
学生の時に暇が無い?
それはそれで羨ましい。
0564名無しさん@お腹いっぱい。2007/04/01(日) 18:29:00
>>557
> 使えと言われたYaTeXだけのためにバカ正直にEmacs使ってる奴
俺か?確かに入口はそこだったけど、
今は.emacs内でhook書いたり気分次第でevalしたりして遊んでるよ
0565名無しさん@お腹いっぱい。2007/04/01(日) 19:19:41
>>559
コード書かなくても、周辺パッケージが便利だから多用している。
学習に時間かかるのは否定しないが、特に苦労と感じたことはない。
0566名無しさん@お腹いっぱい。2007/04/02(月) 11:02:44
大学でたら学ぶことを辞めちゃう人間って、
その時点で終わってると思うぞ。
0567名無しさん@お腹いっぱい。2007/04/02(月) 13:19:11
誰もそんなこと言ってねぇだろ。
0568名無しさん@お腹いっぱい。2007/04/02(月) 18:47:37
自覚あるってことか。
0569名無しさん@お腹いっぱい。2007/04/02(月) 18:51:16
スルー
0570名無しさん@お腹いっぱい。2007/04/02(月) 20:38:50
俺は高校だジジイ
0571名無しさん@お腹いっぱい。2007/04/02(月) 20:45:34
大学出てることが当然のように話進める人がいるのが不思議でならない
このスレ、板に限ったことでもないけど
0572名無しさん@お腹いっぱい。2007/04/02(月) 21:19:43
多分、大学に入ってから Emacs 触りだした人が多いからなのかも。

高専卒は別枠ですかそうですか。
0573名無しさん@お腹いっぱい。2007/04/02(月) 21:43:22
高専って工作員養成所でしょ?無理にEmacs使わなくてもいいですよ。
0574名無しさん@お腹いっぱい。2007/04/02(月) 22:17:09
Emacsを使うことがものすごいことだと思ってるんだ(笑)
0575名無しさん@お腹いっぱい。2007/04/02(月) 23:00:39
まっとうな議論をするための最低条件は大学を出ていること

と考えている人はいそう。
0576名無しさん@お腹いっぱい。2007/04/02(月) 23:14:29
まあでもそういう人って大学を出たことが人間の価値の
最後の砦になっちゃってる人というのが多いっすね。
大学出ということにすがるしかない人。憐れではあるけども。
0577名無しさん@お腹いっぱい。2007/04/02(月) 23:17:34
E m a c s
0578名無しさん@お腹いっぱい。2007/04/03(火) 00:11:11
学歴なんてと言う割には、なんでスルーできないかな...。
0579名無しさん@お腹いっぱい。2007/04/03(火) 00:19:27
「学歴なんて」なんて言ってるやつはいねえだろ
0580名無しさん@お腹いっぱい。2007/04/03(火) 01:36:41
よそでやれ
0581名無しさん@お腹いっぱい。2007/04/03(火) 02:13:11
自分も大学くらいは普通かなと思ってたが
家庭の事情で中退になってしまって
世の中の見方が少しかわったよ。
0582名無しさん@お腹いっぱい。2007/04/03(火) 02:24:53
去れ
0583名無しさん@お腹いっぱい。2007/04/03(火) 02:46:25
大学には何度でも入学できるよ
0584名無しさん@お腹いっぱい。2007/04/03(火) 06:43:04
いいから他でやれ
0585名無しさん@お腹いっぱい。2007/04/03(火) 14:55:31
保存時のファイルのタイムスタンプを操作することはできますか?
emms-tag-editor.el で mp3 のタグを更新したときにタイムスタンプを
変更したくないんですが。
0586名無しさん@お腹いっぱい。2007/04/03(火) 15:33:10
そんなelispがあったのかーと飛び付こうとしたけど、
mp3はmp3info使ってるのかあ。
せめて http://id3v2.sourceforge.net/ こっちなら使う気するが。

で、ほんだいだけど、先にタイムスタンプを保存しておいて、
touch も call-process するようにすればいいんでないかい。
0587名無しさん@お腹いっぱい。2007/04/03(火) 15:37:03
set-file-times
file-attributes
0588名無しさん@お腹いっぱい。2007/04/03(火) 15:52:21
>>586
もう一通り EMMS を快適に使えるように設定したもので。
Win32 なので多少修正が必要でしたが。

>>587
Emacs 本体でもできそうですね。試してみます。
05895852007/04/03(火) 17:55:03
emms-tag-editor-tag-file に around-advice して無事解決しました。
0590名無しさん@お腹いっぱい。2007/04/04(水) 01:40:15
>530
遅レスだがmoccur

これがないとやってられん
0591名無しさん@お腹いっぱい。2007/04/05(木) 03:18:21
elisp を勉強中です。
リストの最後の要素を削ったリストを作るにはどうすればいいのかしら?
0592名無しさん@お腹いっぱい。2007/04/05(木) 03:55:56
butlast
0593名無しさん@お腹いっぱい。2007/04/05(木) 11:43:06
>>591
最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。
0594名無しさん@お腹いっぱい。2007/04/05(木) 15:15:22
(reverse (cdr (reverse foo))) とか
0595名無しさん@お腹いっぱい。2007/04/05(木) 15:16:38
>>592 じゃだめなん?
0596名無しさん@お腹いっぱい。2007/04/05(木) 15:50:39
>>593
butlastは結局、それやってるじゃん。
0597名無しさん@お腹いっぱい。2007/04/05(木) 16:47:20
勉強中っていうから、butlastと答えていいのか
セル操作を意識したいのか迷うとこではある
0598しょこたん2007/04/05(木) 16:57:21
>>591

(setq L '(1 2 3 4 5))
=> (1 2 3 4 5)
(setcdr (last L 2) nil)
=> nil
L
=> (1 2 3 4)
0599名無しさん@お腹いっぱい。2007/04/05(木) 17:13:16
なんかVIP臭い
0600名無しさん@お腹いっぱい。2007/04/05(木) 20:43:01
>>598
リテラルに破壊的操作をしちゃだめ
0601名無しさん@お腹いっぱい。2007/04/05(木) 23:11:55
どいうこと
0602名無しさん@お腹いっぱい。2007/04/05(木) 23:40:28
(defun foo () '(1 2 3 4 5))
(setcdr (last (foo) 2) nil)
(foo)
=> (1 2 3 4)

てことじゃね?
0603名無しさん@お腹いっぱい。2007/04/05(木) 23:55:53
そりゃ有名な罠(ってほどでもない)だわな
0604名無しさん@お腹いっぱい。2007/04/06(金) 09:32:57
罠というより常識だろ。
ネイティブコンパイルするものだったら
segmentation faultだかbus errorだかを食らって死んでもおかしくない。
06055912007/04/06(金) 18:23:48
いっぱいありがとう。

butlast を使えということでしょうか。

> 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。

ということはしてはいけないということ?
0606名無しさん@お腹いっぱい。2007/04/06(金) 18:52:57
>>605
butlast の実装が↓になってるということ。
> > 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。
0607名無しさん@お腹いっぱい。2007/04/06(金) 18:56:44
こんな感じの事なら良くやるけどね。

(defun new-id () (let ((l '(0))) (setcar l (1+ (car l)))))
(new-id)
=> 1
(new-id)
=> 2
(new-id)
=> 3
0608名無しさん@お腹いっぱい。2007/04/06(金) 20:23:44
なんでそうなるの?
lispわかんね。
0609名無しさん@お腹いっぱい。2007/04/06(金) 21:52:37
なんとなく new-id が呼ばれるたんびに '(0) が生成されて、
それが l にバインドされる...みたいに思ってると
それは間違いで、'(0) が生成されるのは defun が evaluate
された時なんだろうな。
0610名無しさん@お腹いっぱい。2007/04/06(金) 22:38:00
>>609
read されたときじゃないの?
0611名無しさん@お腹いっぱい。2007/04/06(金) 22:56:41
メモリが "read" になることはできませんでした><
06126052007/04/06(金) 23:13:52
>> 606
よく読めばそうですね。すいません。勘違いしました。

でも・・・
>>598

> リテラルに破壊的操作をしちゃだめ

とやっちゃいかんといっていますが、598 は
> 最後の一個前の要素の cdr 部に nil 放り込めばいいんじゃ。

ということをしているのですよね。

>>600
の真意はどういうことかしら?

もとのリストを変更加えない方がいいよということかしら?
0613名無しさん@お腹いっぱい。2007/04/06(金) 23:44:41
ヒント (symbol-function 'new-id)
0614名無しさん@お腹いっぱい。2007/04/06(金) 23:59:42
(defun new-id ()
((lambda (l) (setcar l (1+ (car l)))) '(0)))

こういうこと?
0615名無しさん@お腹いっぱい。2007/04/07(土) 01:33:52
今のバイトコンパイラはそこまで最適化しないけど、リテラルのインスタンス
は共有され得るよ。アップグレードすると突然

(defun new-id () (let ((l '(0))) (setcar l (1+ (car l)))))
(defun foo () (car '(0)))
(new-id)
=> 1
(foo)
=> 1

となる可能性は充分ある。ドキュメント化されてない特徴を使ってクロージャ
もどきを実現するのはやめて、素直に大域変数使っておくのが吉。
0616名無しさん@お腹いっぱい。2007/04/07(土) 06:02:22
>>607
ん〜きも
(setq *n* 0)
(defun n () (interactive) (insert (format "%03d" *n*)) (incf *n*))
なのは .emacs に入ってて時々使ってる
0617名無しさん@お腹いっぱい。2007/04/07(土) 06:44:40
トリッキーだな。
リテラルに破壊的操作をするコードをうっかり書いちゃって、
ハマる可能性があるのか。
0618だいちゃん2007/04/07(土) 11:59:38
>>616

> *n*
これもキモいけどな.
0619名無しさん@お腹いっぱい。2007/04/07(土) 12:13:31
616 は CL 臭くてキモいが正しいコード。
607 はたまたま動いてるだけの間違ったコード。
0620名無しさん@お腹いっぱい。2007/04/07(土) 12:17:54
そういえば昔、FORTRANで定数書き換えて1ヶ月悩んだなあ。
0621名無しさん@お腹いっぱい。2007/04/07(土) 16:14:39
やるべきでは無いが、やろうと思えばwarningもなんも無しに出来ちゃうところが痛ゐな。
本当に有難う御座いました。
0622名無しさん@お腹いっぱい。2007/04/07(土) 19:32:22
>>619
elisp は CL ではありません。
0623Zeno ◆5nZQbNmQPs 2007/04/07(土) 21:46:09

じゃあ、吾はもう寝るぞ.
お前も夜更かしはしないで早目に寝ておきなさい.

0624名無しさん@お腹いっぱい。2007/04/08(日) 20:56:52
CVS HEADの追い掛けやめて既に一年以上経ってた。
最近の大きな変更にはなにがあります??
0625名無しさん@お腹いっぱい。2007/04/09(月) 00:01:05
mule-ucsがなにやら揉めてる?
0626名無しさん@お腹いっぱい。2007/04/09(月) 02:06:37

25 :Zeno ◆5nZQbNmQPs :2007/04/07(土) 21:18:17 ID:Hii8ETWu

一般的に美人/綺麗だと言われている女性よりも、
ブサイクと言われている女性の方がどちらかと言えば価値は高い.
それは前者には実につまらん性格を持つ者があまりにも多すぎるからである.
彼女達のほとんどは、股を開く時と場合を心得ているし、そうすれば
何でも解決すると盲信して止まない.
0627名無しさん@お腹いっぱい。2007/04/09(月) 08:45:37
次のstableが出るのはいつなんだろう
0628名無しさん@お腹いっぱい。2007/04/09(月) 09:47:31
http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00313.html
> From: Chong Yidong
> Subject: Pretest schedule
> Date: Sun, 08 Apr 2007 10:21:49 -0400
>
> I would like to propose the following plan for the 22.1 release.
>
> I will roll the 22.0.98 pretest tarball on Monday, April 16 (8 days
> from now). I believe this should be the final pretest, unless a major
> problem arises.
>
> If no major problems with the April 16 pretest come to light, we
> should cut the Emacs 22 CVS branch on Friday, April 20, and release
> Emacs 22.1 on Monday, April 23.

22.1がstableリリースのことだとすると
何も問題なければ23日に出るみたい?
0629名無しさん@お腹いっぱい。2007/04/09(月) 10:23:52
YaTeX で特定のコマンドをキーワードに追加して色付けしたいのですが、やり方
が分りません。

例えば、\endnote{hoge} という文字列は YaTeX のデフォルトの色付けではハイ
ライトされませんが、これを \footnote{hoge} のように font-lock-add-keyword
に加えたい、という事です。

ググると、font-lock-add-keywords で正規表現で加えていくのかなと思いまし
たが、よくやり方がわかりませんでした。御教授よろしくお願いします。m(_ _)m
0630名無しさん@お腹いっぱい。2007/04/09(月) 22:15:59
>>629
そういうのはマニュアル読むとこでないかい?
0631名無しさん@お腹いっぱい。2007/04/11(水) 14:52:50
C-x oの場合と反対の方向にバッファ移動するにはどうすればいい?
0632名無しさん@お腹いっぱい。2007/04/11(水) 15:02:46
C-u C-x o
0633名無しさん@お腹いっぱい。2007/04/11(水) 20:28:29
>>628
ttp://lwn.net/Articles/229825

くるみたいですね。
0634名無しさん@お腹いっぱい。2007/04/11(水) 20:48:23
本来 21.4 として出すはずだったのにずいぶんてこずったねえ。
22 とは言っても 21 と大差ないし、さっさとリリースしてしまって TRUNK に
emacs-unicode-2、xft、multi-tty、lexbind をマージして欲しい。
0635名無しさん@お腹いっぱい。2007/04/11(水) 21:59:29
>>632
C-u C-x o ではなく C-- C-x o なんじゃない?
0636名無しさん@お腹いっぱい。2007/04/11(水) 22:09:48
>>635
大丈夫かお前?
0637名無しさん@お腹いっぱい。2007/04/11(水) 23:41:47
大丈夫とか言ってる前に、ドキュメント嫁よ。

C-x o => other-window

other-window is an interactive built-in function.
(other-window ARG &optional ALL-FRAMES)

Select the ARG'th different window on this frame.
All windows on current frame are arranged in a cyclic order.
This command selects the window ARG steps away in that order.
A negative ARG moves in the opposite order. If the optional second
argument ALL_FRAMES is non-nil, cycle through all frames.

要は、「A negative ARG moves in the opposite order.」だから、

C-u - C-x o

だろ。
■ このスレッドは過去ログ倉庫に格納されています