トップページ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 は世界を救う!
0078名無しさん@お腹いっぱい。2009/10/26(月) 02:35:44
(global-set-key "\C-g" 'goto-line)

してる
0079名無しさん@お腹いっぱい。2009/10/26(月) 02:43:54
21以前ではXEmacs風にM-gをgoto-lineにしてた
22以降M-gがプリフィックスになったのが残念
0080名無しさん@お腹いっぱい。2009/10/26(月) 03:17:16
>>78
キャンセルどうしてんの?
0081名無しさん@お腹いっぱい。2009/10/26(月) 03:29:53
ansi-termというモードを使ってみたのですが、lsコマンドなどで色が付きません。
何か設定が必要なのでしょうか?
0082名無しさん@お腹いっぱい。2009/10/26(月) 03:54:51
>>80
C-g
0083名無しさん@お腹いっぱい。2009/10/26(月) 09:49:34

このすれってEmacsだけで生活してる人、どのくらいいるのですか?
そういう人って、今でも結構いるんですか?

0084名無しさん@お腹いっぱい。2009/10/26(月) 10:56:01
Emacsだけじゃ食えないなぁ
0085名無しさん@お腹いっぱい。2009/10/26(月) 11:51:32
昔はemacsの中だけで完結してた気がするが
w3mというかemacsのfont-lockがうんこすぎるんでブラウザはfirefox+vimperatorになった
0086名無しさん@お腹いっぱい。2009/10/26(月) 12:07:41
>>84
学生時代、ログインシェルが emacs って先輩が居た。
院を中退して、なんかアジアのどこかにいるらしい。
0087名無しさん@お腹いっぱい。2009/10/26(月) 12:27:48
> ログインシェルがemacs

そんなことできるのか
clispがログインシェルになるというのは聞いたことあるが
0088名無しさん@お腹いっぱい。2009/10/26(月) 13:00:07
ジョブコンがなぁ...
0089名無しさん@お腹いっぱい。2009/10/26(月) 13:08:23
w3mよりアドオンでカスタムしまくったfirefoxのほうがはるかに便利に速くブラウジングできる
できればemacsで全部済ませたいけど、個々のソフトが進化しまくったから今じゃしんどいね
ファイル操作とテキスト編集、簡単なコンソールアプリ作る時はemacsだけど

0090名無しさん@お腹いっぱい。2009/10/26(月) 15:32:57
なんで端末は進化しないんだろうね
screenの中でemacs23のようなフォントや表示能力があればemacs -nwで全て解決するのに。
0091名無しさん@お腹いっぱい。2009/10/26(月) 15:35:25
Windows使うならEmacsよりVimのが断然いいよね
0092名無しさん@お腹いっぱい。2009/10/26(月) 15:39:01
windowsデ使うならどっちも同じくらい駄目だな
0093名無しさん@お腹いっぱい。2009/10/26(月) 15:45:01
Windowsなら指使いが互換の別のソフト使ったほうがマシなのでは
0094名無しさん@お腹いっぱい。2009/10/26(月) 16:24:42
言語用のメジャーモードを入れる時に、auto-mode-alistに以下のような設定をしますが、
(setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist))
なぜ.rbという拡張子の前に、\\とバックスラッシュが二つ必要なのですか?
0095名無しさん@お腹いっぱい。2009/10/26(月) 16:35:10
>>94
http://www.mew.org/~kazu/doc/elisp/regexp.html
0096名無しさん@お腹いっぱい。2009/10/26(月) 16:46:59
rx使った方がわかりやすいのに、大抵の人は生の\\だらけのわかりにくいregexpを書くんだよな
本当不思議だ

(rx ".rb" eol)
0097名無しさん@お腹いっぱい。2009/10/26(月) 17:05:41
環境によって使えないからドキュメントには書けんでしょ。
0098名無しさん@お腹いっぱい。2009/10/26(月) 17:13:02
それ以前にrxはやりすぎな感がある
なんか方向性間違ってるよね
0099942009/10/26(月) 17:15:00
>>95
ありがとうございます。なるほどcons関数に渡される前に\が一つ取れちゃうんですね。
0100名無しさん@お腹いっぱい。2009/10/26(月) 17:41:54
>>96
× rx使った方がわかりやすいのに
○ rx使った方がわかりにくい
0101名無しさん@お腹いっぱい。2009/10/26(月) 17:58:37
regexが嫌いな自分にとってはコンビネータパーザっぽくていいと思うんだけどなぁ
素のregexを自在に使える人にとっては面倒なだけなのか

>>97
kwsk
./configure次第でインストールされないこともあるの?
大分前から標準になってたと思うんだけど
0102名無しさん@お腹いっぱい。2009/10/26(月) 18:30:23
>>91
なんで?
教えてちょうだいな。
0103名無しさん@お腹いっぱい。2009/10/27(火) 06:20:20
最近
s/a/b/
使う人減ったよね。個人的に好きなんだけど。
0104名無しさん@お腹いっぱい。2009/10/27(火) 09:27:32
あれ見るとイラッと来るから無くなっていいよ
0105名無しさん@お腹いっぱい。2009/10/27(火) 09:42:22
>>104

なんでイラッって来るの?
0106名無しさん@お腹いっぱい。2009/10/27(火) 11:38:33
>>103
それみると、なんか、さぶっ ってなる。
0107名無しさん@お腹いっぱい。2009/10/27(火) 11:45:57
書く側の都合として×○より書くのが楽なのと
海外でも通じるというメリットがある(×○が通じるのはおそらく日本だけ)
0108名無しさん@お腹いっぱい。2009/10/27(火) 11:48:46
>>103
> s/a/b/

なんのこっちゃさっぱりわからん。何これ?
0109名無しさん@お腹いっぱい。2009/10/27(火) 11:57:47
typoとかを訂正する時の表現方法
0110名無しさん@お腹いっぱい。2009/10/27(火) 12:04:31
ed形式の置換コマンドって事?
スレに関係ないし、レスの流れにも乗ってないじゃん。
置換の話なんてしてねえからな。
0111名無しさん@お腹いっぱい。2009/10/27(火) 12:07:41
> s/a/b/

×a
○b

と同義
0112名無しさん@お腹いっぱい。2009/10/27(火) 12:25:18
s/a/b/ より ^Hをみなくなった。
0113名無しさん@お腹いっぱい。2009/10/27(火) 12:35:41
# 余談を書くときにコメントのようにして書くのもあったな
0114名無しさん@お腹いっぱい。2009/10/27(火) 12:42:52
>>106

不思議な感覚の持ち主なんですねw
0115名無しさん@お腹いっぱい。2009/10/27(火) 12:50:31
誰にも通じなさそうな所で使うのはたしかに寒いな。
0116名無しさん@お腹いっぱい。2009/10/27(火) 12:57:01
s/a/b/見たことが無い人は。
sabu(さぶっ)って見えるんすわぁ
0117名無しさん@お腹いっぱい。2009/10/27(火) 14:28:44
substitutionだけに
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 を使っていれば良いということだ。

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