トップページ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 は世界を救う!
0041名無しさん@お腹いっぱい。2009/10/25(日) 16:29:08
Emacsは昔はデフォで行番号を表示するすべがなく、人に聞く→
行番号イラネ→泣く泣く行番号非表示→慣れてみると行番号イラネ
っていう流れだと思う。
0042名無しさん@お腹いっぱい。2009/10/25(日) 16:44:50
EmacsとVImの最大の違いはスクリプト(マクロ)だな。
Lispは大事な概念がたくさんあってプログラマは知っておいて損は
ないからね。
編集部分は大差ないと思うけど、Vimはかなり少ないキー操作で
色々出来るってのはある。
0043名無しさん@お腹いっぱい。2009/10/25(日) 16:48:10
>>42
スレ違い。
どうでもいいから。
比較をしたいなら、専用のスレがあるからそこに行けよ。
0044名無しさん@お腹いっぱい。2009/10/25(日) 17:02:33
プログラマが Lisp をやるなら Common Lisp か Scheme がお勧め
0045名無しさん@お腹いっぱい。2009/10/25(日) 17:11:52
practical common lispとsicpは読んだけど、どうせ使うlispなんてemacs lispぐらいだし
emacs lispだけで十分かな
0046名無しさん@お腹いっぱい。2009/10/25(日) 17:25:55
Emacs を使う事が目的ならそれで良いんじゃない
0047名無しさん@お腹いっぱい。2009/10/25(日) 17:27:13
viはed由来だし、行番号を表示したほうがいいことがあるに違いないよ
emacsはそうでもない
0048名無しさん@お腹いっぱい。2009/10/25(日) 17:39:15
別に無いよ。行番号を表示したら、その分だけ表示領域が狭くなるから作業しづらい。
>>39 が見たのは GVim かな。
0049名無しさん@お腹いっぱい。2009/10/25(日) 17:44:09
俺の場合、common lisp は emacs lisp プログラミングのスキルアップに学んだ。
目的は emacs lisp のより良いコーディングだし、scheme なんかはどうでもいいわ。
emacs lisp以外でlisp系の言語なんて使う機会ないわ。
schemeは単なる学び損になる恐れが強いので、眼中に無し。
0050名無しさん@お腹いっぱい。2009/10/25(日) 18:23:21
個人的にはエディタに行番号無いと駄目なタイプだが
emacsの場合、行番号表示するelispを使うことになるんだが所詮elispで表示してるだけだから、ちょっといじわるな操作加えるとレイアウト崩れたりする。
eclipseやvimのような完成度を求めることが出来ないから結局使ってない。
0051名無しさん@お腹いっぱい。2009/10/25(日) 18:28:26
しかしなんで行番号必要なんだろう?
0052名無しさん@お腹いっぱい。2009/10/25(日) 18:34:45
スクリーンショットを撮るときに画面がにぎやかになるから
0053名無しさん@お腹いっぱい。2009/10/25(日) 18:45:20
ペアプログラミングとか皆しないんだね。
行番号があると便利だよ。
0054名無しさん@お腹いっぱい。2009/10/25(日) 18:47:30
しねぇよそんなもん
0055名無しさん@お腹いっぱい。2009/10/25(日) 19:14:29
小さいプログラム書いてる時とか、
コンパイルエラーの該当行探すのに行番号あった方が一目で分かって良い。
0056名無しさん@お腹いっぱい。2009/10/25(日) 20:00:19
>コンパイルエラーの該当行探すのに行番号あった方が一目で分かって良い。
これは凄い
0057名無しさん@お腹いっぱい。2009/10/25(日) 20:02:13
百歩譲ってもemacsならgoto-line、vimなら数字Gで飛んだほうが早いな
それにルーラーとにらめっこなんかしてたら余計に眼が疲れる
0058名無しさん@お腹いっぱい。2009/10/25(日) 20:03:35
飛んでからわかるより飛ぶ前にわかるほうがすぐれている
0059名無しさん@お腹いっぱい。2009/10/25(日) 20:11:15
意味不明
0060名無しさん@お腹いっぱい。2009/10/25(日) 20:13:23
vim の話だけど、エラー行番号が L117 と L120 と L125 とかなら
ファイル開いて set nu して 120j して行番号で該当行を探す事が多いな。
まぁ好みの話だね。
0061名無しさん@お腹いっぱい。2009/10/25(日) 20:35:58
行番号ぐらい設定でon/off出来てもいいと思うけどな
emacsの主義も理解できるけど、他のエディタでよく使われる機能ぐらいは標準で組み込まれてるべき
0062名無しさん@お腹いっぱい。2009/10/25(日) 20:41:14
linum-modeが、Emacs23から標準で入ってるよ
0063名無しさん@お腹いっぱい。2009/10/25(日) 20:58:46
マジかw知らなかった
0064名無しさん@お腹いっぱい。2009/10/25(日) 21:15:20
>>60
EmacsならM-x compile M-x next-error
vimならcc foo.c 2>&1| error -v
かと思っていたわ
0065名無しさん@お腹いっぱい。2009/10/25(日) 21:40:50
最近はそういうおせっかい機能が好きな人は IDE を使うんじゃないかな。
0066名無しさん@お腹いっぱい。2009/10/25(日) 21:48:07
てかエラーメッセージでわざわざ該当行にジャンプするより
コード入力した時点で行の横あたりにエラーのマーカーを出してくれるとありがたいが。
0067名無しさん@お腹いっぱい。2009/10/25(日) 22:00:04
まとめると、fringeはもっと便利であるべき、ということでいいか?
0068名無しさん@お腹いっぱい。2009/10/25(日) 22:08:34
M-x compileも知らずに偉そうなこと言ってる馬鹿がいるのか
0069名無しさん@お腹いっぱい。2009/10/25(日) 22:10:11
お、何か始まったw
0070名無しさん@お腹いっぱい。2009/10/25(日) 22:11:57
>>60
117Gとか120Gとか125Gだろ。
jて。jなんか使ってるからset nuが必要になる。
数Gと^Gで十分。

Emacsではgoto-line(M-g)とline-number-mode。
0071名無しさん@お腹いっぱい。2009/10/25(日) 22:15:57
イチイチ他人のやり方に文句付けんなよ…
0072名無しさん@お腹いっぱい。2009/10/25(日) 22:58:10
linum-modeはバッファが空のときに行番号を表示しないのがなあ
0073名無しさん@お腹いっぱい。2009/10/25(日) 23:07:17
flymakeかな
エラー報告用のバッファを開いてリンク付きのエラーリストを常に更新させる
ってぐらいはできるかもしれんが、idle-timerとオーバーレイを使って
ポイントのある行に表示とかいうのはちょっとややこしそうだ
0074名無しさん@お腹いっぱい。2009/10/25(日) 23:14:27
Emacsって行きたい所に行くすべがちゃんとそろっているからね。
他の人とのやり取りは用には行番号も使うけど、全部表示する必要もないし。
また、BASICから発展したほかのDOSエディタと違って
Lispに行ジャンプは無いので必要なかったと思われるし。
0075名無しさん@お腹いっぱい。2009/10/26(月) 00:08:54
>>74
行きたいところ行くすべ教えてくだせぇ><
カーソル移動か
C-s の検索だけで移動している私
0076名無しさん@お腹いっぱい。2009/10/26(月) 00:15:39
23だったら、M-gg(orM-gM-g)
それ以外は、M-x goto-line
0077名無しさん@お腹いっぱい。2009/10/26(月) 00:16:33
間違えた、22以降がM-ggが使えるんだった
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
どちらもグローバルにキーを設定できますが、機能的な違いはあるのでしょうか?
ネット上で検索すると、どっちも使われてるようですが好みの違いですか?
■ このスレッドは過去ログ倉庫に格納されています