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

Emacs part 27

■ このスレッドは過去ログ倉庫に格納されています
0001Zeno2008/11/09(日) 08:48:02
諸君、ここはかの有名な最強の汎用環境/エディタ、「Emacs」のスレッドである!

スレッドルールは以下の通り:
* 初心者にやさしく接すること
* Emacsユーザーとの仲間意識をしっかり持って、馴れ合いを怠らないこと
* このスレでのコミュニケーションを前スレ以上に活発にすること (用がなくとも、毎日の書き込みが理想)
* 部外者/非Emacsユーザーの書き込みも可。但し、女性の書き込みは場の雰囲気を乱すので不可
* 自分で書いた便利なコード/アイディアは他人とシェアしようと試みること
        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|
* Emacs スレッドのマスコットキャラである「ぐにゅう君」 (↑のAA) と
吾 (Zeno ◆5nZQbNmQPs) への挨拶も忘れないように!

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
最新の stable リリース (22.2) のダウンロード http://ftp.gnu.org/pub/gnu/emacs/emacs-22.2.tar.gz
Windows用 NTEmacs の最新ダウンロード https://sourceforge.jp/projects/ntemacsjp/files/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1218093847/
CVS先端: cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs

Emacs は世界を救う!
0143名無しさん@お腹いっぱい。2008/11/19(水) 18:30:38
>>142
可能です
0144名無しさん@お腹いっぱい。2008/11/19(水) 18:36:55
>>143みたいなやつって何を考えてレスしてるんだろうな。
自分では役に立ってると思ってんのかな。
0145名無しさん@お腹いっぱい。2008/11/19(水) 18:39:13
>>144がまったく役に立っていない件
0146名無しさん@お腹いっぱい。2008/11/19(水) 18:43:29
役に立たない者同士仲良くしろよ。
0147名無しさん@お腹いっぱい。2008/11/19(水) 18:45:35
役立ち判定技師の集いはここですか?
0148名無しさん@お腹いっぱい。2008/11/19(水) 18:59:30
その用途ならzenityとsleep使うわ
ミニバッファなんて常に書き換えられるから、
まともに機能するようなものを作ろうとなるとかなり大変そうだし
0149名無しさん@お腹いっぱい。2008/11/19(水) 19:45:41
>>137
インタラクティブに実行すればできる。
0150名無しさん@お腹いっぱい。2008/11/19(水) 19:59:37
>>149
どの関数をインタラクティブに実行すればできるのでしょうか?
0151名無しさん@お腹いっぱい。2008/11/19(水) 20:14:07
ebrouseでtag jumpする方法が検索してもみつからないです
ひょっとして出来無いの?
0152名無しさん@お腹いっぱい。2008/11/19(水) 20:17:44
できないんじゃない。
0153名無しさん@お腹いっぱい。2008/11/19(水) 20:56:59
>>148
(for ((i=0;i<100;i+=4)) ; do echo $i ; sleep 1; done) | zenity -progress -auto-close
こんなのを実行する感じですか?

でもemacsでやりたいんですよね。
0154名無しさん@お腹いっぱい。2008/11/19(水) 21:15:32
このスレは、質問してる奴の方が「できる人」っぽいという不思議なスレだな。
0155名無しさん@お腹いっぱい。2008/11/19(水) 21:58:01
>>148
書き換えられても一瞬で元に戻りやがるやついるやん
0156名無しさん@お腹いっぱい。2008/11/19(水) 22:45:47
>> 148
ミニバッファにこだわらず、
小さめの別バッファ(ウィンドウ)作って、そこに書いて、5秒後に消す、
とかじゃだめなの?
0157名無しさん@お腹いっぱい。2008/11/19(水) 23:41:05
>>156
そんなんじゃ、それっぽくないだろ。
0158名無しさん@お腹いっぱい。2008/11/20(木) 03:22:07
Emacsの80%はそれっぽさで出来ているようなものだ。

という格言は忘れるべきではない。
0159名無しさん@お腹いっぱい。2008/11/20(木) 03:32:29
>>155
それってなに?
0160名無しさん@お腹いっぱい。2008/11/20(木) 04:31:13
>>154
> このスレは、質問してる奴の方が「できる人」っぽいという不思議なスレだな。

一部、解答(したふりを)している人間にホラ吹きがいるようだからね。
0161名無しさん@お腹いっぱい。2008/11/20(木) 04:33:37
ボロが出るから、回答は具体的じゃ無いほうがいいんだよ

0162名無しさん@お腹いっぱい。2008/11/20(木) 04:34:17
>>161
だからホラ吹きなんじゃん。
0163名無しさん@お腹いっぱい。2008/11/20(木) 04:46:26
大丈夫,誰も解答者がホラ吹きじゃないとか言ってない
0164名無しさん@お腹いっぱい。2008/11/20(木) 08:23:31
フレーム内に1つのwindow (buffer)しか表示していない状態で
(pop-to-buffer foo) や (display-buffer foo) を実行すると、
フレームの下半分に foo のバッファがポップアップされますが、
上のバッファがポップアップされた間隔分、上に持ち上げられてしまい、
その後、下のポップアップバッファ上で (delete-buffer)をしても、
前の視点が戻りません (画面が上に持ち上げられたまま)。

(pop-to-buffer foo) をしても、元のバッファの視点は同じで、
ポップアップされた間隔分上に持ち上げられなくするにはどうすればいいですか?
0165名無しさん@お腹いっぱい。2008/11/20(木) 08:42:58
(save-window-excursion (progn (split-window-vertically) (read)))
0166名無しさん@お腹いっぱい。2008/11/20(木) 09:34:39
>>165
(read) が read_minibuffer を中で実行してるみたいですね。
実際それでやっても同様のことができました。
どうやって状態を保存してるのかは時間がなくてトレースできなかったのですが、
(read) は何かのインプットを待ち構えてしまうので、できるなら
そうならずに同様のことができれば最高なんですが。。
0167名無しさん@お腹いっぱい。2008/11/20(木) 12:56:49
>>141
python.el
でlocale関係の命令呼ばれるとエラーでる
それやっても治らなかった
0168名無しさん@お腹いっぱい。2008/11/20(木) 13:03:19
python.elで
import pylab
したいだけなのに変に苦労しないといけないのはpython.el使ってる人が実はあんまりいないってことなのか
0169名無しさん@お腹いっぱい。2008/11/20(木) 13:10:02
>>168
そういうことだ。
0170名無しさん@お腹いっぱい。2008/11/20(木) 15:35:27
Next Emacsing
0171名無しさん@お腹いっぱい。2008/11/20(木) 17:24:29
emacs-22でdefaultで新規バッファ作成時に作成日時とかファイル名が
自動で挿入されるんですが保存したときに体裁が崩れてしまいます。
修正したいんですがどこで(どういう関数が)この挿入をしているのか
わかりません。どなたかおしえてくだしあ
;;
;; tmp.el
;;
;; Made by A A
;; Login <a@a-laptop>
;;
;; Started on Sun Nov 6 00:00:00 2008 A A
Last update Sun Nov 6 00:00:03 2008 A A
↑こういうのです
0172名無しさん@お腹いっぱい。2008/11/20(木) 17:49:37
>>164
(let ((s (window-start)))
(display-buffer foo)
(set-window-start (selected-window) s))

とか

(let ((s (window-start))
(w (selected-window)))
(pop-to-buffer foo)
(set-window-start w s))

でいいのでは。で、 foo に用が無くなったら

(delete-window-on foo)
0173名無しさん@お腹いっぱい。2008/11/20(木) 18:35:39
>>172
少なくとも私の環境では、どちらを試しても
ポップアップされた間隔分、上位のバッファが上に持ち上げられますね
(カーソルが元々画面の半分目以下に位置していた場合)。
その点、C の read_minibuffer 関数を内部で使用している関数 (例えば
>>165さんの (read) ではその現象が生じないんです。
ただ、その場合、何かのインプット待ち状態になってしまうので、融通がきかないのです。
0174名無しさん@お腹いっぱい。2008/11/20(木) 20:44:46
SKK Part5
http://pc11.2ch.net/test/read.cgi/linux/1067706152/551
で, リージョンの文字をSKKの辞書形式に変換するelispを書いたのですが,
わからないことがあるので質問させてください.

上記の関数ではreplace-regexp-in-string でマッチした文字を16進数に
変換するためにformatを使っているのですが, あらかじめ設定した変数を
渡さずにマッチした文字を取得する方法がわかりませんでした.
match-stringで取れるかと思ったのですが, replace-regexp-in-string内部
では使えない(?)みたいです.それができれば
(kill-new
(concat
"(concat \""
(replace-regexp-in-string
"[\\\\;/\r\n\"]"
(format "\\x%x" (string-to-char 一致した文字))
(buffer-substring (region-beginning) (region-end)) nil t)
"\")"))
みたいに綺麗に書けるはずなので, ぜひやり方を知りたいです.

; formatの上にconcatとか激しく無駄だ…orz
0175名無しさん@お腹いっぱい。2008/11/20(木) 20:48:36
>>171
autoinsertだっけ
0176名無しさん@お腹いっぱい。2008/11/20(木) 20:49:27
わざわざ他人のフリして聞いてるそのスレで、ちゃんとヒント書いてもらってるじゃん。
0177名無しさん@お腹いっぱい。2008/11/20(木) 21:03:23
>>176
了解です. もう一度マニュアルを読み直してみます.
0178名無しさん@お腹いっぱい。2008/11/20(木) 21:12:39
>>175 ありがとうございます。
個人で雛形を用意してauto-insertを使って雛形を挿入するとそ
の雛形にさらに>>171みたいなのを追加するんで困ってます。
defaultのどこかの設定がやっていると思うのですが自分では探
せませんでした。
バッファを保存するとコメントになっていた
;; Last update Sun Nov 6 00:00:03 2008 A A

Last update Sun Nov 6 00:00:03 2008 A A
のように置き換えてしまいます。どうしたらよいでせうか
0179名無しさん@お腹いっぱい。2008/11/20(木) 21:57:45
>>173
(current-window-configuration)の値を自分で管理。

(setq x (current-window-configuration))

(set-window-configuration x)
0180名無しさん@お腹いっぱい。2008/11/20(木) 22:12:46
>>178
その動き、timestamp じゃないか?
time-stamp-line-limit
time-stamp-format
time-stamp-start
time-stamp-end
このへんの設定を教えてもらえれば分かるかも。
0181名無しさん@お腹いっぱい。2008/11/20(木) 23:10:49
>>180 ご親切にありがとうございます。
すいません。力不足でtime-stamp-*の値とかどうなってるのか
調べられませんでした。
見当違いかもしれませんが自分の.emacsにはtime-stampの設定で
(if (not (memq 'time-stamp write-file-hooks))
(setq write-file-hooks
(cons 'time-stamp write-file-hooks)))
と書いています。
01821722008/11/20(木) 23:20:41
>>173
じゃ、 read の代わりに recursive-edit を使って、

(save-window-excursion (display-buffer foo) (recursive-edit))

または

(save-window-excursion (pop-to-buffer foo) (recursive-edit))

元に戻すときは

(exit-recursive-edit)

でどうですかね。 recursive-edit から抜けるのを忘れそうですが。
0183名無しさん@お腹いっぱい。2008/11/20(木) 23:27:47
>>181の続きで症状をもう少し詳しく説明しますとバッファ
を保存するたびに
Last update Sun Nov 6 00:00:03 2008 A A
の後ろが二文字ずつ削除されていき、
Last update Sun Nov 6 00:00:03 2008 A Ahogehogehoge..
のようにその下の行がくっついてしまいます。
0184名無しさん@お腹いっぱい。2008/11/20(木) 23:29:42
text-modeを使っていてTABを押したら意図しないような一杯TABが挿入されていて、
調べてみたらどうやらindent-relativeが関連してるらしい。

無効に設定できないものですか?

教えて下さい。
0185名無しさん@お腹いっぱい。2008/11/20(木) 23:43:58
indent-line-functionにtab-to-tab-stopを設定すれば良かったっけ
0186名無しさん@お腹いっぱい。2008/11/20(木) 23:51:07
>>181
*scratch* バッファにこれ書いて、最後の ) のうしろで C-j 押して出た結果を教えて。
(format "%d\n%s\n%s\n%s\n"
time-stamp-line-limit
time-stamp-start
time-stamp-end
time-stamp-format)
0187名無しさん@お腹いっぱい。2008/11/20(木) 23:53:14
>>185
書き方がわかりません。。。

lispの本買って勉強しますから
今回は.emacsに書くスクリプトの形式で教えてくれませんか?
0188名無しさん@お腹いっぱい。2008/11/20(木) 23:54:29
>>184
「無効」って、どういう状態を期待しているの?

text-mode ってソースコードを書くためのものじゃないから、
インデントは前の行に合わせたほうが都合がいいんじゃないかと思うんだけど、
常に固定幅のタブを挿入したいのならば >>185 のような方法になると思う。
0189名無しさん@お腹いっぱい。2008/11/20(木) 23:59:30
>>187
(add-hook 'text-mode-hook
'(lambda ()
(setq paragraph-start "^\\([-  ・<\t\n\f]\\|(?[0-9a-zA-Z]+)\\)")
(setq indent-line-function tab-to-tab-stop)
;;(setq indent-tabs-mode nil)
))
こんな感じかな。
タブじゃなくて半角空白で埋めたいなら、2つめのコメントを外して。
0190>>188>>1892008/11/21(金) 00:00:57
連投してごめん。
>>189の paragraph-start の設定はオレの好みなので無視してください。
0191名無しさん@お腹いっぱい。2008/11/21(金) 00:43:04
M-x calendar ではx押すと祝日の日に色がつきますが、
自分で書いたdiaryの日にも祝日とは別の色をつけたいのですが、どうやればいいのやら・・・(できるの?)
0192名無しさん@お腹いっぱい。2008/11/21(金) 00:59:02
メニューキー(keycode 117) を Control キーに割り当てたいんだけど、
emacs22 でどうやって書けば良いの?
0193>>188>>1892008/11/21(金) 01:03:41
-nw ではムリだと思います。~/.Xmodmap をいじったほうがいいんじゃない?
0194名無しさん@お腹いっぱい。2008/11/21(金) 01:38:15
>>191
m を押せば?
0195名無しさん@お腹いっぱい。2008/11/21(金) 01:49:52
>>194
thx微妙に色変わってたw
あとはfont-lockいぢればいいのですねありがとうございました
0196名無しさん@お腹いっぱい。2008/11/21(金) 01:55:26
-nwだとメニューってお飾りなん?
0197名無しさん@お腹いっぱい。2008/11/21(金) 02:00:29
M-`あたりで使えた気がする
0198名無しさん@お腹いっぱい。2008/11/21(金) 02:16:35
>>151
C-c Enter . じゃダメなの?
もちろんBROWSEファイルを読み込んでおかないとダメだけど。
0199名無しさん@お腹いっぱい。2008/11/21(金) 06:55:40
>>174
こいつバカすぎて笑った
0200名無しさん@お腹いっぱい。2008/11/21(金) 07:48:26
Emacs 23のフォント設定について解説したページはありますか?
0201名無しさん@お腹いっぱい。2008/11/21(金) 08:09:35
>>196
xterm-mouse-mode だと一応反応する。
>>197の言っている M-` とほぼ同じだけど。
0202名無しさん@お腹いっぱい。2008/11/21(金) 11:34:38
>> 186 eucとutf-8のどちらでencodeしても文字化けしている部分が残りました。
とりあえずこのままのせます。よろしくお願いします
Debugger entered--Lisp error: (void-variable time-stamp-line-limit)
(format "%d\n%s\n%s\n%s\n" time-stamp-line-limit time-stamp-start
time-stamp-end time-stamp-format)
eval((format "%d\n%s\n%s\n%s\n" time-stamp-line-limit time-stamp-start
time-stamp-end time-stamp-format))
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp()
call-interactively(eval-print-last-sexp)
recursive-edit()
byte-code(" @=?"?!A@)=??\"
Zy`|cb? \" ?!??!? [unread-command-char debugger-args x debugger-buffer
noninteractive debugger-batch-max-lines -1 debug backtrace-debug 4 t
backtrace-frame lambda 5 pop-to-buffer debugger-mode debugger-setup-buffer
count-lines 2 "...\n" message "%s" buffer-string kill-emacs "" nil
recursive-edit middlestart buffer-read-only standard-output] 4)
debug(error (void-variable time-stamp-line-limit))
(format "%d\n%s\n%s\n%s\n" time-stamp-line-limit time-stamp-start
time-stamp-end time-stamp-format)
eval((format "%d\n%s\n%s\n%s\n" time-stamp-line-limit time-stamp-start
time-stamp-end time-stamp-format))
0203名無しさん@お腹いっぱい。2008/11/21(金) 11:35:50
>>202の続き
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp()
call-interactively(eval-print-last-sexp)
recursive-edit()
byte-code(" @=?"?!A@)=??\"
Zy`|cb? \" ?!??!? " [unread-command-char debugger-args x debugger-buffer
noninteractive debugger-batch-max-lines -1 debug backtrace-debug 4 t
backtrace-frame lambda 5 pop-to-buffer debugger-mode debugger-setup-buffer
count-lines 2 "...\n" message "%s" buffer-string kill-emacs "" nil
recursive-edit middlestart buffer-read-only standard-output] 4)
debug(error (void-variable time-stamp-end))
eval(time-stamp-end)
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp()
call-interactively(eval-print-last-sexp)
0204名無しさん@お腹いっぱい。2008/11/21(金) 14:48:50
>>199
How came you laughed at 174?
0205>>188>>1892008/11/21(金) 23:25:50
>>202
問題の現象が出たあと (つまり >>178 のような操作をしたあと) で >>186 をやってください。
0206名無しさん@お腹いっぱい。2008/11/22(土) 00:02:46
>>205 以下のようになりました。どうでしょうか
"8
Time-stamp:[ ]+\\\\?[\"<]+
\\\\?[\">]
%02d-%3b-%:y %02H:%02M:%02S %u
"
こうやって調べることができるのですね。とても勉強になります。
ありがとうございます。
0207名無しさん@お腹いっぱい。2008/11/22(土) 01:06:46
hogehoge-hookってのは、Javaで言うアノテーションみたいなもんかな。
0208名無しさん@お腹いっぱい。2008/11/22(土) 01:35:06
Emacsキーバインディングでピザーラに注文できるモードないの
0209名無しさん@お腹いっぱい。2008/11/22(土) 02:29:08
M-x psychoanalyze-pinhead

注文よろしいでしょうか?

Can you elaborate on that?

ピザを注文したいのですが。

Is it because of any hobbies you have that you say ピザを 注文したいのですが?

注文いいですか?

I would appreciate it if you would continue.

マルゲリータ L サイズパン生地のヤツとコーラをお願いします。

Maybe your sex life have something to do with this.

毒男でわるかったな!

Go on, don't be afraid.



I need a little more detail please.

そこ掘り下げるんすか…

Do you really think そこ 掘り 下げるんすか?
0210名無しさん@お腹いっぱい。2008/11/22(土) 10:46:59
ドミノピザならあったよな。適当にキーに割り当ててくれ。
ttp://gigazine.net/index.php?/news/comments/20080609_command_line_pizza/
0211名無しさん@お腹いっぱい。2008/11/22(土) 11:28:07
変な質問で悪いけど、Emacsとは全然関係ないエディタでEmacsの
キーバンドエミュレーションがよく出来ているエディタって何かある?
0212名無しさん@お腹いっぱい。2008/11/22(土) 12:01:15
>>211
jEdit + jEdit Emacs Emulation Package とか?
http://www.clapper.org/software/jedit/
0213名無しさん@お腹いっぱい。2008/11/22(土) 12:06:11
>>211
たぶん Visual Studio の Emacs キーバインドじゃない?
0214名無しさん@お腹いっぱい。2008/11/22(土) 13:01:51
Eclipseのそれもなかなか。エディタというかIDEだけど。
0215名無しさん@お腹いっぱい。2008/11/22(土) 14:18:15
>>211
サクラエディタでそういう設定かプラグインがあった。
結構再現度高かったよ。
0216名無しさん@お腹いっぱい。2008/11/22(土) 14:23:00
C-q key でアプリ本来のキーバインド実行くらいまでしてくれるとありがたいんだがなぁ。
まあ Visual Studio 以外は使う気はしないけど。
0217名無しさん@お腹いっぱい。2008/11/22(土) 15:15:27
>>216
「正しさとは何なのだろうか」まで読んだ。
0218名無しさん@お腹いっぱい。2008/11/22(土) 16:55:08
>>210 なるほど

0219名無しさん@お腹いっぱい。2008/11/22(土) 17:07:43
>>210
これならEmacs Lispでも普通に実装できるな…
0220名無しさん@お腹いっぱい。2008/11/22(土) 23:10:08
>>212
そのページだけ読んでみたけど、ちょっと少ないかなぁ..
だたjEditは結構よくできてる。最近はJAVAでもサクサクだな。

>>213
そもそも、VSのEmacsエミュレーションが期待はずれだったから
もうちょい何とかなんないかなぁと思って質問してみたんだよね。

>>214
Eclipseはあまり好きでないので..
特にLinuxでインスコしようとすると、尋常じゃない数の依存
パッケージをインストールしようとするからちょっと躊躇する。

>>215
いまいち分からんかったけど、XKeymacsなるものを見つけた。
取り合えずこれ使ってみるかな。
0221名無しさん@お腹いっぱい。2008/11/23(日) 01:26:33
>>220
> そのページだけ読んでみたけど、ちょっと少ないかなぁ..
"Those are just some of the key bindings. Consult the shortcuts.properties file in the downloaded package for the complete list of bindings."
って書いてあるぜ。
0222名無しさん@お腹いっぱい。2008/11/23(日) 01:40:52
XKeymacsみたいなのでもよかったのか
これはなかなかいいツールだよ
自分もVSとかNetBenasとか使っててかゆいところに手が届かないときはこれに頼ってる

まあ最近はIDEとか触る必要もなくなったんで現状どうなってるか知らないけど
0223名無しさん@お腹いっぱい。2008/11/23(日) 12:39:02
どうにかして escape キーに関数を割り当てる方法をおしえてください。
0224名無しさん@お腹いっぱい。2008/11/23(日) 16:48:14
(global-set-key [escape] '(lambda () (interactive) (message "HOGE")))
0225名無しさん@お腹いっぱい。2008/11/23(日) 16:58:55
>>224
ターミナルなど、 '-nw' で起動した場合はそれだと効果がないようです。
0226名無しさん@お腹いっぱい。2008/11/23(日) 19:46:57
(setcdr (key-binding "\e") nil)
(global-set-key "\e" 'navi2ch)
0227名無しさん@お腹いっぱい。2008/11/23(日) 20:03:39
>>226
俺の環境では動かなかったよ
viper-keym.elちょこっと見たが、そんな単純なことじゃないと思うんだが
0228名無しさん@お腹いっぱい。2008/11/23(日) 20:12:43
meta-prefix-char
0229名無しさん@お腹いっぱい。2008/11/23(日) 21:06:42
GNU EmacsのM-某の入力には、
ALT-某という方法とESC 某という方法があって、
Emacsは後者が入力された時に、ESCと某の時間間隔が短い時は、
前者に変換して受け取り、M-某として扱うという実装が行われてきた。
時間間隔を便りにしないとISO-2022などのエスケープシーケンスを
うまく扱うことができないから。
この辺りの機能はオンオフできるけど、
バージョンによって結構違うから、
M-x emacs-versionの結果を書いた方がいい。
0230名無しさん@お腹いっぱい。2008/11/23(日) 21:16:04
>>228
その値を変えてしまうと、M-x が効かなくなっちゃいますよね... orz=3

>>229
興味深い説明ありがとうございます。
今はバージョン 23.0.60 を使用しています。
僕も>>227さんがviper-keym.elというヒントをくださったので、
その中身を研究しようかと考えてます(elispはほぼ初心者なんですが)。
0231名無しさん@お腹いっぱい。2008/11/23(日) 23:22:03
無理矢理自分の好みにエディタ合わせるより
エディタの流儀に合わせた方が楽な場合も多いよ。
特に初心者のうちはなおさら。
0232名無しさん@お腹いっぱい。2008/11/24(月) 00:15:16
jdeeでTomcat開発してる人いる?
0233名無しさん@お腹いっぱい。2008/11/24(月) 00:19:03
>>230の続き。

やっぱり、どうやってviper-modeが(-nwでも)escapeに
関数をマッピングしているのか、分かりませんでした。
誰かそれを実現できた人がいたら、どうやったか是非おしえてください。
0234名無しさん@お腹いっぱい。2008/11/24(月) 00:38:04
Emacsでシステムモニタリングしてるんだが
電源メーターが三日連続で下がり続けてる。
なんだこれ。

Emacsのパワーに家庭用コンセントがついてこれてないのか?
0235名無しさん@お腹いっぱい。2008/11/24(月) 01:29:19
>>233
とりあえず、viperからESC関連のとこを抜き出してみたよ。

------------------------------------------------------------------------------
(defvar viper-vi-intercept-map (make-sparse-keymap))

(define-key viper-vi-intercept-map viper-ESC-key 'viper-intercept-ESC-key)

(defcustom viper-ESC-key (if (viper-window-display-p) [(escape)] "\e")

(defun viper-window-display-p ()
(and (viper-device-type) (not (memq (viper-device-type) '(tty stream pc)))))

(defsubst viper-device-type ()
(if (featurep 'xemacs)
(device-type (selected-device))
window-system))
------------------------------------------------------------------------------

ようするに、単にウィンドウシステムの環境かどうかで、[(escape)]と"\e"を
切り替えてるだけだな。
ただ、同じ事をglobal-set-keyでやるとうまく行かない。
globalじゃなくてkeymapを作ればうまく行くんじゃないの?試してないけど。
0236名無しさん@お腹いっぱい。2008/11/24(月) 04:47:23
Emacsがなければ俺はOSクリエーターにはなれなかった。本当にEmacsには感謝してる。
0237名無しさん@お腹いっぱい。2008/11/24(月) 10:00:13
ひげぽん乙。
いや、ひげぽんではない人かもしれないけど。
0238名無しさん@お腹いっぱい。2008/11/24(月) 10:18:56
メソッドも文法も全然覚えらんないけど Emacs のおかげで何とかなってる。
0239名無しさん@お腹いっぱい。2008/11/24(月) 11:39:09
>>229
> 前者に変換して受け取り、M-某として扱うという実装が行われてきた。

逆だ逆。
0240名無しさん@お腹いっぱい。2008/11/24(月) 14:27:06
>>239
だよなぁ… 最初に >>239 を読んで「アレ?」と思った…

ということは神速で ESC(Ctrl-[)-x って入力するとエスケープシーケンスと誤認させる
ことも可能?
0241名無しさん@お腹いっぱい。2008/11/24(月) 22:12:44
ttp://d.hatena.ne.jp/antipop/20081120/1227180641

EmacsからOutputzへ投げるやつやばいね。中毒になったわw
0242名無しさん@お腹いっぱい。2008/11/24(月) 22:47:28
>>241
無職の人?
■ このスレッドは過去ログ倉庫に格納されています