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

Emacs Part 32

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/10/24(土) 04:05:36
諸君、ここはかの有名な最強の汎用環境/エディタ、「Emacs」のスレッドである!

スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること

GNU Emacs - Free Software Foundation (FSF) http://www.gnu.org/software/emacs/
EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
Emacs CVS Repositories [Savannah] http://savannah.gnu.org/cvs/?group=emacs
Emacs Lisp List http://www.damtp.cam.ac.uk/user/sje30/emacs/ell-date.html
ダウンロード http://ftp.gnu.org/pub/gnu/emacs/
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
Git: git clone git://git.savannah.gnu.org/emacs.git emacs
        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|
前スレ http://pc12.2ch.net/test/read.cgi/unix/1251665639/

Emacs は世界を救う!
0118名無しさん@お腹いっぱい。2009/10/27(火) 15:01:45
でも、このスレにいるような人間が勤めてる会社で、
s/a/b/が分からないでsabuってなるのは問題あると思うぜw
0119名無しさん@お腹いっぱい。2009/10/27(火) 15:33:45
配列の先頭に要素追加することをコンスするとか言ってる奴はどうかと思う
0120名無しさん@お腹いっぱい。2009/10/27(火) 15:34:57
時と場所による。このスレでならまあ許せるレベル。
0121名無しさん@お腹いっぱい。2009/10/27(火) 15:56:53
配列はスタックじゃないからたとえこのスレでも許さない
0122名無しさん@お腹いっぱい。2009/10/27(火) 16:06:46
配列でスタックを作れます。
consは配列に対する操作でもスタックに対する操作でもないけど。
0123名無しさん@お腹いっぱい。2009/10/27(火) 16:47:23
Perlプログラマの人気No.1エディタはVim | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2009/10/27/043/index.html
0124名無しさん@お腹いっぱい。2009/10/27(火) 17:15:32
nil : 空のスタック
cons : push
car : top
cdr : pop

でスタックと対応できるってのは関数型言語の入門書で例としてよく出てくる
0125名無しさん@お腹いっぱい。2009/10/27(火) 17:23:06
consはpushとして使えるかもしれないけど、pushは必ずしもconsじゃないだろ。
0126名無しさん@お腹いっぱい。2009/10/27(火) 17:27:14
Perlなんてまだ使ってるんだというEmacs厨の言い訳↓
0127名無しさん@お腹いっぱい。2009/10/27(火) 17:36:29
だっふんだ
0128名無しさん@お腹いっぱい。2009/10/27(火) 17:40:31
>>119>>125
どうでもいいです。
0129名無しさん@お腹いっぱい。2009/10/27(火) 18:31:02
pushって配列の最後に追加するもんじゃないの?RubyのArray#pushとか。
consとpushじゃ真逆じゃないの?
0130名無しさん@お腹いっぱい。2009/10/27(火) 18:51:46
スタックに対するpushならconsと同じ。
キューに対するならpushは最後に追加になるんじゃない。
データ構造によるでしょう。
0131名無しさん@お腹いっぱい。2009/10/27(火) 18:56:09
実装とインターフェイスの区別がついてませんね。
0132名無しさん@お腹いっぱい。2009/10/27(火) 19:02:53
おおなるほど。すぐ取り出せる位置に入れるのがpushなのか
0133名無しさん@お腹いっぱい。2009/10/27(火) 19:06:30
意味不
0134名無しさん@お腹いっぱい。2009/10/27(火) 19:30:44
夜のファミレスで若い女性店員に「おじさんのバナナもたべてみんか?」と言ってた酔っ払い親父がいた。
おもわず「むかなきゃ、食べられないんですか?」
と言ってしまったら別の客が「パフっ!!」とコーヒーを噴き出した
0135Emacsビギナ2009/10/27(火) 19:46:32
スクリプトを書いて保存しないで実行させて、
その標準出力をEmacsのカーソル位置に出力する。

ってなことやってる人いますか?
もしやってる人、やり方を知ってる人がいれば教えてください><
0136名無しさん@お腹いっぱい。2009/10/27(火) 21:24:00
>>135

スクリプトって何を使いたいのかな。

Ruby なら gem で rcodetools を入れて、同梱の xmpfilter を通すとか。

たとえば

(1..10).inject(0){|x, y| x += y} # =>

ってしておいて、M-x xmp すると

(1..10).inject(0){|x, y| x += y} # => 55

なんて出力が得られるけど、そういうのでいい?
0137名無しさん@お腹いっぱい。2009/10/27(火) 21:38:21
M-: (insert (shell-command-to-string "echo 'Hello, world!'"))
0138名無しさん@お腹いっぱい。2009/10/27(火) 22:07:40
xmpfilterおもしろいけど、再帰のみ書いたときに無限ループになったり、
でっかいDB読み込む奴書いてたらそれ読み込み終わるまで固まるのが痛いんだよな。
0139名無しさん@お腹いっぱい。2009/10/27(火) 22:26:05
C-u M-x shell-command-on-region で sh 。
0140名無しさん@お腹いっぱい。2009/10/27(火) 23:57:40
もう何回も何回も何回も何回も何回も何回も何回も何回も何回も出たような話ばっかりじゃねーか
新しいネタを投下しろやクズども
0141名無しさん@お腹いっぱい。2009/10/28(水) 02:24:19
global-set-key
define-key global-map
どちらもグローバルにキーを設定できますが、機能的な違いはあるのでしょうか?
ネット上で検索すると、どっちも使われてるようですが好みの違いですか?
0142名無しさん@お腹いっぱい。2009/10/28(水) 03:09:56
(defun global-set-key (key command)
...略...
(define-key (current-global-map) key command))
そういう時はソース見れば分かると思うけど、基本的に同じっぽい。
けど、global-set-keyの方が良さそうかな。
01431412009/10/28(水) 04:12:11
ありがとうございます。ソース見る癖つけないとダメですね…。
global-set-keyを使うことにします。
0144Emacsビギナ2009/10/28(水) 05:14:50
みなさんありがとうございました!
まさしく、やりたいことを教えていただきました!!
Emacs初心者スレじゃないのに、親切に教えていただいてありがとうございます><
0145名無しさん@お腹いっぱい。2009/10/28(水) 13:55:37
emacsで折りたたみってどうしてます?
folding.elやろうかなと思ったけど自分で C-C@C-fとかでやんないといけないみたいですね.
IDEみたいに自動で認識してくんないかな?
01461452009/10/28(水) 14:20:06
hideshowvis.elがありました.すいません.
0147名無しさん@お腹いっぱい。2009/10/28(水) 15:43:33
>>140
お前が毎日毎日ROMしてるだけだからだろが
そろそろ卒業してネタを投下する作業に入るんだ
0148名無しさん@お腹いっぱい。2009/10/28(水) 15:53:13
>>147
ごめん、なんか俺、自分で何もやってないのに
文句だけ書き捨ててた。俺って最低だな。
0149名無しさん@お腹いっぱい。2009/10/28(水) 22:59:55
大丈夫。知ってたよ。
0150名無しさん@お腹いっぱい。2009/10/29(木) 00:14:38
>>141
インタラクティブか、非インタラクティブか。
global-map 以外の設定と見た目が合うので、個人的には define-key が好き。
0151名無しさん@お腹いっぱい。2009/10/29(木) 01:51:02
M-t をgtagsに使わせたいのに変な機能に先に設定されてる
(前後の単語の入れ替えする)
M-t を.emacsの中でなんとか設定する方法ないのでしょうか
0152名無しさん@お腹いっぱい。2009/10/29(木) 06:41:37
素直に設定すれば、勝手に上書きされるよ(たぶん)
0153名無しさん@お腹いっぱい。2009/10/29(木) 19:12:47
Emacs楽しい!
休日とか気付いたら一日中カスタマイズしてる気がする
0154名無しさん@お腹いっぱい。2009/10/30(金) 01:53:48
最近またいっそう重くなったけど、ずっとこのままなんだろうか……
0155名無しさん@お腹いっぱい。2009/10/30(金) 20:34:44
Emacs最新のcc-modeってc-file-styleをLocal Variablesで指定しても効いてなくない?
変数自体は設定されるんだけどスタイルがデフォルトからあまり変化しない。
0156名無しさん@お腹いっぱい。2009/10/31(土) 07:27:27
.emacs ロード時間

1ヶ月半前のビルド: 1404 ms
今日のビルド: 1829 ms

ロード時間は約30%-35%程遅くなっている。
以前のバイトコンパイルされたコードの方が最適化がなされていたか
インタープレターが遅くなったか、その両方。

なぜ最近のemacsは遅くなったか知っている人いる?
0157名無しさん@お腹いっぱい。2009/10/31(土) 07:48:56
>>156
昔から、早くなったり遅くなったりしてる気がするけどな。
とりあえず、バイトコンパイルしなおしてみるとか。
(そのぐらいは試してるか。)
役立たずでごめん。
0158名無しさん@お腹いっぱい。2009/10/31(土) 08:22:45
ちっ、役立たずが
0159名無しさん@お腹いっぱい。2009/10/31(土) 08:43:35
>>158
親分、すまねぇ。
0160名無しさん@お腹いっぱい。2009/10/31(土) 10:02:53
かまへんかまへん!
0161名無しさん@お腹いっぱい。2009/10/31(土) 14:06:12
0162名無しさん@お腹いっぱい。2009/10/31(土) 14:08:08
これまで Emacs 21 を使っていて、この度 Emacs 23.1 に乗り換えました。
が、C-x 5 2 で新しいウィンドウを出すと、そっちのフォントの設定が、
デフォルト(?) のものになってしまい、~/.emacs のフォント設定が反映
されていないウィンドウが表示されてしまいます。

C-x 5 2 でもフォント設定が同じになるには、どうすれば良いのでしょう?

ちなみに ~/.emacs のフォント設定は以下のようにしてあります。

(eval-and-compile
(cond
((>= emacs-major-version 23)
(cond (window-system
(set-frame-font "さざなみゴシック-10")
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("M+2VM+IPAG circle" . "unicode-bmp")
)
(set-fontset-font (frame-parameter nil 'font)
'katakana-jisx0201
'("M+2VM+IPAG circle" . "unicode-bmp")
)
)
)

))
0163名無しさん@お腹いっぱい。2009/10/31(土) 14:17:30
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:stipple nil :background "#ffffff" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 133 :width normal :foundry "unknown" :family "VL Gothic")))))
0164名無しさん@お腹いっぱい。2009/10/31(土) 16:44:29
外国では(add-to-list 'load-path "path")の書き方が普通なのに
日本では(setq load-path (cons "path" 'load-pat))と書く人が多いね。
明らかに前者の方が簡潔だと思うけど後者の書き方には何かメリットがあるのかな?
0165名無しさん@お腹いっぱい。2009/10/31(土) 16:59:09
代々伝わる秘伝のタレの味。
0166名無しさん@お腹いっぱい。2009/10/31(土) 17:07:05
>>164
> (cons "path" 'load-pat))と書く人が多いね。

まあ、そんな短いS式の中で2つも間違いを犯すような君はコピペで我慢してなさいってこった。
0167名無しさん@お腹いっぱい。2009/10/31(土) 17:08:21
昔add-to-listはなかった。ただそれだけのこと。
0168名無しさん@お腹いっぱい。2009/10/31(土) 19:10:19
じゃあ後方互換性のためにconsを使うべきだな
0169名無しさん@お腹いっぱい。2009/10/31(土) 19:41:36
push派は少ないのだろうか。
0170名無しさん@お腹いっぱい。2009/10/31(土) 19:58:01
nconc派
0171名無しさん@お腹いっぱい。2009/10/31(土) 20:07:12
  ノ     ∧     /) ∧
  彡  ノW \从/V  W \   ミ
  (  ノ        |      ノ \)
  ∩V      、、 |       >V7
  (eLL/ ̄ ̄\/  L/ ̄ ̄\┘/3)
  (┗(      )⌒(      )┛/
   ~| \__/ |  \__/ |~     / ̄ ̄ ̄ ̄ ̄ ̄
    爻     < |  ;     爻    < どうした、それだけか?
    ~爻     \_/  _, 爻~     \______
     ~爻__/⌒ ̄ ̄ ̄~~ヽ_ 爻~
     /    ー ̄ ̄\_ ̄\
  _一‘     < ̄ ̄\\\J
<\       ー ̄ ̄ヽ_ヽJ   ̄\_
  \     _ニニニヽ )       ~\
   \  _/⌒|\ ヽ_~~ ~⌒\_
  __/~    V \_|     ~\_
0172名無しさん@お腹いっぱい。2009/10/31(土) 20:17:24
うぜえ
0173名無しさん@お腹いっぱい。2009/10/31(土) 20:24:38
ぜぇぜぇ
0174名無しさん@お腹いっぱい。2009/10/31(土) 21:02:47
お前らのオススメのelisp教えろ
0175名無しさん@お腹いっぱい。2009/10/31(土) 21:06:11
anything(爆)
0176名無しさん@お腹いっぱい。2009/11/01(日) 08:18:07
>>167
> 昔add-to-listはなかった。ただそれだけのこと。

あと、無意味に重いので忌避されていた。
0177名無しさん@お腹いっぱい。2009/11/01(日) 10:58:50
へ?
0178Zeno ◆5nZQbNmQPs 2009/11/01(日) 11:03:44


>>168->>171
add-to-list は重複チェックをしてくれる。
そのことを知らない初心者に cons や push を使った
やり方を勧めるのは推奨されない。

つまり貴様等頭は普通に add-to-list を使っていれば良いということだ。

0179名無しさん@お腹いっぱい。2009/11/01(日) 11:21:47
そういえば昔は、「空白連ねるな、タブに変換しとけ」だったんだよな。
ファイルサイズを縮小するために。
0180Zeno ◆5nZQbNmQPs 2009/11/01(日) 11:40:37

>>179
ソース内でタブを使うことは推奨されない。

0181名無しさん@お腹いっぱい。2009/11/01(日) 11:52:19
>>178
なるほど、勉強になる。
.emacs なんて、web上のものを切り貼りすることしかできないので、
その辺が全然統一されてないわ。

とりあえず、add-to-list を使っておくのが安全なんですね。
0182名無しさん@お腹いっぱい。2009/11/01(日) 14:42:57
勉強になるとか言って勉強する気ない奴の典型
0183名無しさん@お腹いっぱい。2009/11/01(日) 15:04:47
何かいやなことでもあったのか?
0184名無しさん@お腹いっぱい。2009/11/01(日) 16:22:14
ちょっとな
0185名無しさん@お腹いっぱい。2009/11/01(日) 18:47:24
>>180
なぜだ?
0186名無しさん@お腹いっぱい。2009/11/01(日) 19:08:34
add-to-listの重複チェックとか常識すぐる
0187名無しさん@お腹いっぱい。2009/11/01(日) 19:19:43
「知ってる奴にとっては」な
0188名無しさん@お腹いっぱい。2009/11/01(日) 22:22:54
listにaddする、と聞いた時点で「重複チェックは?」と思い至るようでないと
emacsは難しい。
0189名無しさん@お腹いっぱい。2009/11/01(日) 22:53:59
重複チェックするだけなのに無意味に重いってこたないだろ。
add-to-listはループ内で使うのが普通とかならともかく。
0190名無しさん@お腹いっぱい。2009/11/01(日) 23:11:01
センス無い人ってほんと徹底してセンス無いよな
0191名無しさん@お腹いっぱい。2009/11/01(日) 23:47:33
emacsで重いって起動時だけでしょ?
前の方のレスにも起動が遅くなったとかレスがあるけど
どうせPC立ち上げてすぐemacs起動したらずっとそのままだし全然気にならん。
0192名無しさん@お腹いっぱい。2009/11/02(月) 08:39:27
ほんと、徹底してセンスないな
0193名無しさん@お腹いっぱい。2009/11/02(月) 13:06:32
くだ質ですが、起動時の牛さんデモ画面を無効にする方法はありますか?
0194名無しさん@お腹いっぱい。2009/11/02(月) 13:06:59
emacsを17個立ち上げているワタシ
0195名無しさん@お腹いっぱい。2009/11/02(月) 13:08:49
最悪。
0196名無しさん@お腹いっぱい。2009/11/02(月) 13:09:07
>>193
あるよ
0197名無しさん@お腹いっぱい。2009/11/02(月) 13:10:59
>>193
initial-scratch-messageを抑制したいってこと?
0198名無しさん@お腹いっぱい。2009/11/02(月) 13:14:40
>>194ってネタでしょ?
じゃなかったらもう池沼レベルだろ。
0199名無しさん@お腹いっぱい。2009/11/02(月) 13:52:58
前に true transparency ではなく、バックグラウンド(のみ)の透明化
の話題がでていたけど、もしかしてこれは一度実装されていたのだけれど、
山本さんが取り除いてしまったの?
この機能は自分も含めてかなり多くの人が欲しがるものだと思うから、
戻して欲しいのだが。

ttp://lists.gnu.org/archive/html/emacs-devel/2009-07/msg01206.html
0200名無しさん@お腹いっぱい。2009/11/02(月) 14:22:03
>>194
多すぎだろ、と思って調べてみたら13個上げていた。
2つ不要だったのでkillして11個に減らした。
0201名無しさん@お腹いっぱい。2009/11/02(月) 14:26:51
別プロセスだとなんかうれしいことあるの?
バッファ間でやってたようなやりとりは可能?
0202名無しさん@お腹いっぱい。2009/11/02(月) 14:29:50
emacsプロセスは1つのみにしておかないと逆に不憫なのだが。
何個も立ち上げる人はシェルもemacsもいまいち使いこなせてないだけだろ。
0203名無しさん@お腹いっぱい。2009/11/02(月) 14:30:42
不憫って…何が?
0204名無しさん@お腹いっぱい。2009/11/02(月) 14:45:38
>>203
えっ、お前、本当にわからないの?

メモリー、ファイルのロック、ステートのセーブ、ファイルのポジション、fg、eshellのヒストリー、alias
とかいくらでも出てくるだろ。
0205名無しさん@お腹いっぱい。2009/11/02(月) 14:46:07
>>202
この考え方は、最近の人には異様で病的に思えるかもしれません。
しかし、ベテランたちが育った時代、主記憶が4MBでHDDが120MBしかなく、
そのマシンを8人で同時に使っていた時代には、単に許されるのみならず、
必要な考え方でさえありました。
0206名無しさん@お腹いっぱい。2009/11/02(月) 14:53:54
>>202
「不便」じゃなく「不憫」であってる?
0207名無しさん@お腹いっぱい。2009/11/02(月) 14:57:20
開発者が不憫、ということでよろしいか
0208名無しさん@お腹いっぱい。2009/11/02(月) 15:08:55
>>201
1個が処理中で操作できないときでも別ので作業可能、とかかな。
0209名無しさん@お腹いっぱい。2009/11/02(月) 15:26:46
ぼくも少なくともデスクトップごとに1個emacsが居るけどな。
0210名無しさん@お腹いっぱい。2009/11/02(月) 16:02:04
>>208
11個も?w
0211名無しさん@お腹いっぱい。2009/11/02(月) 18:21:49
>>197
起動時に、*scratch*に切り替えてくれてもいいんですが。。
0212名無しさん@お腹いっぱい。2009/11/02(月) 19:20:30
>>193
;; オープニングメッセージを表示しない
(setq inhibit-startup-message t)
0213名無しさん@お腹いっぱい。2009/11/02(月) 19:44:06
>>212
thx
0214名無しさん@お腹いっぱい。2009/11/02(月) 19:59:41
ありがとうございました、と言えクズ
0215名無しさん@お腹いっぱい。2009/11/02(月) 20:21:30
ありがとうございました、カス。
0216名無しさん@お腹いっぱい。2009/11/03(火) 10:47:19
せっかくデフォルトでmulti-tty入ってるんだからXでも端末でも同じプロセスを使い回した方が
いろいろ楽だと思うんだが。
0217名無しさん@お腹いっぱい。2009/11/03(火) 11:51:21
スレチかもしれませんが日本語環境orSCIMスレがないのでここに

FreeBSD + emacs22 + scim-bridge-jp で日本語環境を目指しているんだけど
scim-bridge入れてemacs設定したが上手く動かない
*Messages*には

SCIM: Launch SCIM-Bridge...
SCIM: (file-error make client process failed no such file or directory :name scim-bridge :service /tmp/scim-bridge-0.3.0.socket-1001@localhost:0.0 :buffer *scim-bridge* :family local :server nil :noquery t)

と出る. netstatすると

ffffff000e450aa8 stream 0 0 ffffff008f6597c0 0 0 0 /tmp/scim-bridge-0.3.0.socket-0@localhost:0.
ffffff009ff5c7c0 stream 0 0 ffffff00925891f0 0 0 0 /tmp/scim-bridge-0.3.0.socket-1001@localhost:0.

らしい
scim-bridge.elで
(defvar scim-bridge-x-display-name ":0.")
とすると一応動きましたが...

もっと上手い解決策はないですか?
scim-bridgeが悪いんでしょうけど
自分専用機とはいえscim-bridge.elを直接弄ってるのは嫌な感じがするので

普通に使えてる人はちゃんとソケット開いているのかどうかも知りたいです
0218名無しさん@お腹いっぱい。2009/11/03(火) 13:11:41
別プロセス間でもabbrev効くの?
■ このスレッドは過去ログ倉庫に格納されています