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

Emacs part 22

■ このスレッドは過去ログ倉庫に格納されています
0001Zeno ◆5nZQbNmQPs 2007/06/03(日) 08:46:53
Emacs は我々が毎日振れ合い愛憎する最強の汎用環境/エディタである.
このスレッドは皆が Emacs に関しての情報を共有し合う場である.
まあ気楽にやっていこうではないか

EmacsWiki http://www.emacswiki.org/
Emacs 電子書棚 http://www.bookshelf.jp/
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
NTEmacs スレッド http://pc11.2ch.net/test/read.cgi/software/1097170623/

前スレ http://pc11.2ch.net/test/read.cgi/unix/1168261179/

最新の stable リリースは「22.1」であり、本体は
* http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz
* http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-22.1-bin-i386.zip (Windows)
からダウンロード可能である.

ちなみに吾の名は Zeno -- Emacs を使用した情報操作の魔術師である.
0432名無しさん@お腹いっぱい。2007/08/12(日) 03:43:33
outlineで畳み込んだときの...に色を付けてみたいんだけど、できないのかなぁ。
0433名無しさん@お腹いっぱい。2007/08/13(月) 23:14:37
Emacsでタブを入力するにはどうしたらいいんですか?
0434名無しさん@お腹いっぱい。2007/08/13(月) 23:17:25
>>433
^Q^I
0435名無しさん@お腹いっぱい。2007/08/13(月) 23:22:50
>>434
C-q C-iってことですかね?
入力できませんでした
04364352007/08/13(月) 23:41:33
途中で書き込んでしまいました

C-q C-iを入力するとミニバッファに
C-q TAB is undefined
と表示されます
0437名無しさん@お腹いっぱい。2007/08/14(火) 00:16:00
>>436

emacs -q で起動した場合でもそうなる?
0438名無しさん@お腹いっぱい。2007/08/14(火) 00:33:04
M-x quoted-insert C-i
0439名無しさん@お腹いっぱい。2007/08/14(火) 08:09:53
20年も前のコードだけど
(add-hook 'find-file-hooks
(function
(lambda () (if (string-match "[Mm]akefile" buffer-file-name)
(setq indent-tabs-mode t)
(setq indent-tabs-mode nil) ))))

(add-hook 'find-file-not-found-hooks
(function
(lambda () (if (string-match "[Mm]akefile" buffer-file-name)
(setq indent-tabs-mode t)
(setq indent-tabs-mode nil) ))))
0440名無しさん@お腹いっぱい。2007/08/14(火) 08:35:55
>>439
今のEmacsのmakefile-modeには不要。
普通にindent-tabs-modeという変数があるよと言えばいいのに。
0441名無しさん@お腹いっぱい。2007/08/14(火) 09:27:27
>>440
つ 露出狂
0442名無しさん@お腹いっぱい。2007/08/15(水) 01:00:32
find-file のフックなんかで解決するのは
今どきのやり方じゃないな。
でも20年の歴代ものなら仕方ないか。
0443名無しさん@お腹いっぱい。2007/08/15(水) 22:05:19
elispにperlのtestみたいな機能の関数ってある?
2つのファイルに違いがあるかどうかだけ知って、
それをifの条件で使用したいんだけど。
0444名無しさん@お腹いっぱい。2007/08/15(水) 22:17:47
>>443
あるよ
0445名無しさん@お腹いっぱい。2007/08/15(水) 22:49:22
>>444
なんてコマンド?
0446名無しさん@お腹いっぱい。2007/08/15(水) 23:08:46
>>445
コマンド? コマンドがどうかしたの?
0447名無しさん@お腹いっぱい。2007/08/15(水) 23:10:19
知らないならいいよ。
0448名無しさん@お腹いっぱい。2007/08/15(水) 23:25:55
diff 使えバカ
0449名無しさん@お腹いっぱい。2007/08/16(木) 00:00:51
>>448
diffの使い方を教えてください。
0450名無しさん@お腹いっぱい。2007/08/16(木) 05:41:02
一発でbuffer-file-nameをkill-ringに入れてくれるコマンドはないでしょうか?

「自分で書け」はわかってます。
aproposでbuffer-file-nameは見てみました。


0451名無しさん@お腹いっぱい。2007/08/16(木) 05:48:45
「自分で書け」をわかってない。
0452名無しさん@お腹いっぱい。2007/08/16(木) 05:52:49
(defun copy-filename-as-kill ()
"Copy BUFFER's full pathname into the kill ring.
If prefix arg is 0, copy the directory part.
If prefix arg is other than nil and 0, copy the basename."
(interactive)
(let ((s
(if (= 0 (prefix-numeric-value current-prefix-arg))
default-directory
(if (buffer-file-name)
(if (null current-prefix-arg)
(buffer-file-name)
(file-name-nondirectory (buffer-file-name)))
""))))
(kill-new s)))
04534502007/08/16(木) 06:27:26
わーい。

0454名無しさん@お腹いっぱい。2007/08/16(木) 10:08:42
「オープンソースだと、バグとかあっても自然に直ってる」
という言葉を思い出した。
0455名無しさん@お腹いっぱい。2007/08/16(木) 12:32:26
聞いたことねえな
0456名無しさん@お腹いっぱい。2007/08/17(金) 06:40:32
ボクが考えました><
0457名無しさん@お腹いっぱい。2007/08/17(金) 19:24:06
>>452
なんで buffer-file-name を2回も呼び出してんの?
0458名無しさん@お腹いっぱい。2007/08/19(日) 18:35:58
mac(OS X)から外部マシンにsshで入って作業しているのですが、
emacsが立ち上がらなくなりました。
以下のエラーが出ます。

Xlib: connection to "localhost:10.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
emacs: Cannot connect to X server localhost:10.0.
Check the DISPLAY environment variable or use `-d'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.

対処法が分かる方がいたら教えてもらえますか。

ちなみに、このマシンにはいる為に、間に2つのマシンを
通るのですが、この2つではemacsは立ち上がります。
0459名無しさん@お腹いっぱい。2007/08/19(日) 18:38:37
emacs -nw
じゃだめなんだろうなきっと。
0460名無しさん@お腹いっぱい。2007/08/19(日) 19:46:07
もしくは ssh -X か ssh -Y
0461名無しさん@お腹いっぱい。2007/08/19(日) 20:24:05
素直にed使えばいいじゃない
0462名無しさん@お腹いっぱい。2007/08/19(日) 20:44:57
>>460
ssh -Xはやってるんですけどね。
0463名無しさん@お腹いっぱい。2007/08/19(日) 20:52:15
>>459
ありがとうございます!
このモードでは立ち上がりました。
0464名無しさん@お腹いっぱい。2007/08/19(日) 21:25:28
こんな阿呆がEmacs使う世の中に誰がした
0465名無しさん@お腹いっぱい。2007/08/19(日) 21:26:47
鯖がXフォワーディングを許可してないとかかね?

ところで、ずっと使っていたら左下にMEM FULLってでてかなり重くなった。
あまりに遅かったからkillしちゃったんだけど、これって何か対応策はあるの?
0466名無しさん@お腹いっぱい。2007/08/20(月) 07:54:31
設定いじってコンパイルしなおし
0467名無しさん@お腹いっぱい。2007/08/20(月) 21:54:55
C-` や ESC ESC のキーバインドを変更したいんですけど、
どう書けばいいんでしょうか?
0468名無しさん@お腹いっぱい。2007/08/20(月) 22:30:09
>>467
マニュアルのCustomaizing Key Bindingsを見ると良い。
0469名無しさん@お腹いっぱい。2007/08/20(月) 22:36:19
>>467
C-`は最初から何もバインドされていないからいいとして、
ESC ESC は prefix じゃない?
emacs19 だったら ESC ESC は eval-expression がバインドされていたんじゃなかったっけ。

それでもいいなら
(define-key global-map [?\C-`] 'undefined)
(define-key esc-map "\e" 'undefined)
0470名無しさん@お腹いっぱい。2007/08/21(火) 04:44:25
指定行範囲だけを置換えしたいのですが、どのようにすればいいのでしょうか?
また、Vimみたく
:30,45s/^/okikae/gc
みたく1行で入力し置き換える方法はないでしょうか?
0471名無しさん@お腹いっぱい。2007/08/21(火) 05:43:46
narrow-to-region
0472名無しさん@お腹いっぱい。2007/08/21(火) 09:58:56
続けて2回マークするとtransなんたらmodeに入るのでそのときに
置換すると範囲内のみになるよ。
0473名無しさん@お腹いっぱい。2007/08/21(火) 19:03:20
>>468-469
thx.
0474名無しさん@お腹いっぱい。2007/08/21(火) 20:22:27
そういえばいつの間にか >>1 のテンプレが変わってるな。
アレが好きだったのに。
0475名無しさん@お腹いっぱい。2007/08/21(火) 20:29:22
「アレ」ってなに?
0476名無しさん@お腹いっぱい。2007/08/21(火) 21:11:06
そもそも>>1が見えない
04772702007/08/22(水) 05:51:52
>>472
うぇー、これ知らなかった。リージョンのマークだけかと思ってた。
0478名無しさん@お腹いっぱい。2007/08/23(木) 13:28:44
snippet.el、smart-snippet.el以外のtextmateのスニペットを実現するElispってありますか?
0479名無しさん@お腹いっぱい。2007/08/23(木) 22:52:28
emacs 22.1.50.1 (CVS) 20070822 らへんと,ちょっとその前で,
lisp/startup.el で,
(defun normal-splash-screen (&optional hide-on-input)

(defun normal-splash-screen (&optional static)
に変更されていて,親切なのか余計なお世話なのか,スプラッシュがウザくなった.
いちいち q を押さないといけなくなった.
以前のようなスプラッシュ表示するためには,
normal-splash-screen を直接書き換えないとやっぱりダメ?
どうしたらいいでしょうか?
あ,(setq inhibit-startup-message t) とかは無しね.
あくまで以前のような(emacs 22.1 stable)スプラッシュにしたいだけだから.
0480名無しさん@お腹いっぱい。2007/08/24(金) 01:04:16
>>479
> あ,(setq inhibit-startup-message t) とかは無しね.
t にした上で、
after-init-hook で昔の normal-splash-screen 呼べばいいと思うんだが。
0481名無しさん@お腹いっぱい。2007/08/24(金) 02:42:58
わけありで、他のアプリとは無関係に、Emacsの中だけ
CapsLockをCtrlにして使いたいのですが、
どのようにしたらそのようにできるでしょうか。
.emacs.elの中だけで対処できると有難いのですが。
0482名無しさん@お腹いっぱい。2007/08/24(金) 03:23:53
Depends on window system.
0483名無しさん@お腹いっぱい。2007/08/24(金) 08:15:15
CygwinのXサーバでSolarisのEmacsを利用してます。
この場合、可能でしょうか。
Meadowだと独自の関数があるっぽいですね。
0484名無しさん@お腹いっぱい。2007/08/24(金) 09:00:47
>>483
client が win なら mayu とか ahk 使えばいいんじゃない?
Cygwin/X の実装がどうなってるのかわからないから、
window class とか window title がどうなってるのか良くわからないが。
0485名無しさん@お腹いっぱい。2007/08/24(金) 10:16:11
ウホッ cvs updateしたら何か大量に更新されている
0486名無しさん@お腹いっぱい。2007/08/24(金) 11:05:56
しかしビルドエラーorz
In toplevel form:
emacs-lisp/byte-opt.el:288:51:Error: Wrong type argument: listp, restp
追っかけるのめんどくせー
0487名無しさん@お腹いっぱい。2007/08/24(金) 11:09:53
日記はよそでやれ。
0488名無しさん@お腹いっぱい。2007/08/24(金) 16:02:51
XWinでもmayu使えてるよ。
タイトルうまく指定すればemacsのみにしぼることができる。
04894842007/08/24(金) 16:33:41
>>488
そうなんだ。
良く考えたら ahk の方は win の日本語ロケールじゃ CapsLock の状態取得できなかったから、
mayu でやればいいね。

後は .Xmodmap かえるのでもいいかな。
elisp だけでやるのは無理だと思う。
04904792007/08/24(金) 17:47:30
>>480
以前の normal-splash-screen を old-normal-splash-screen として defun し、

(add-hook 'after-init-hook
(lambda nil
(setq inhibit-startup-message t)
(old-normal-splash-screen t)))

で基本的にいけたけど…、あと、fancy の方もやらなければならなかった。
全部 old 付けてやった。かなり面倒なので、
startup.el を直接書き換える以外の方法で、
フラグか何かで簡単に変更できひんもん?
# あそこまで button を付けられると参るな〜。
0491名無しさん@お腹いっぱい。2007/08/24(金) 22:17:21
C-h kのヘルプで
M-0 C-k みたいなコマンドをひくにはどうしたいいんでしょうか?
M-0 の説明がでてしまいます

行頭までの削除をほかのキーに割り当てるために
まずM-0 C-kがどうなってるか引きたいのです
0492名無しさん@お腹いっぱい。2007/08/24(金) 22:38:25
>>491
> C-h kのヘルプで
> M-0 C-k みたいなコマンドをひくにはどうしたいいんでしょうか?
一緒くたにひく方法はないんじゃないかなぁ。

C-h k M-0 すると digit-argument だと判る。
C-h k C-k すると kill-line は arg を取ることが判る。
これでどうよ。
0493名無しさん@お腹いっぱい。2007/08/24(金) 22:41:03
>>491
M-0は、それ自体がコマンドなので
>M-0 C-k みたいなコマンドをひくにはどうしたいいんでしょうか?
というのは無理。別々に調べる。


M-0を引いたら

M-0 runs the command digit-argument

Part of the numeric argument for the next command.
C-u following digits or minus sign ends the argument.

って書いてあるでしょ。


C-kを引いたら

(kill-line &optional arg)

With prefix argument, kill that many lines from point.
Negative arguments kill lines backward.
With zero argument, kills the text before point on the current line.

って書いてあるでしょ。
0494名無しさん@お腹いっぱい。2007/08/24(金) 23:08:42
引けないんですね
どうもありがとうございました
0495名無しさん@お腹いっぱい。2007/08/24(金) 23:21:30
いや、だから……。
0496名無しさん@お腹いっぱい。2007/08/24(金) 23:49:49
「引けない」は正しい。但し原因は>>491にある。
0497名無しさん@お腹いっぱい。2007/08/25(土) 12:10:31
>>486
なおってるね。ブートストラップ成功。
0498名無しさん@お腹いっぱい。2007/08/26(日) 07:20:18
>>491
(global-set-key ほかのキー (lambda () (interactive) (kill-line 0)))
0499名無しさん@お腹いっぱい。2007/08/26(日) 22:21:44
debianのパッケージからいつの間にかelisp-infoが消えていた。
ドキュメントのライセンス関連かな。不便だ。
0500名無しさん@お腹いっぱい。2007/08/26(日) 22:49:49
>>499
パッケージ名は何?
0501名無しさん@お腹いっぱい。2007/08/26(日) 23:01:30
elisp-manual だね。stableから消えた。
単にorphanされただけでライセンスは関係ないっぽい。
0502名無しさん@お腹いっぱい。2007/08/26(日) 23:06:03
みたいね。
http://packages.qa.debian.org/e/elisp-manual.html
0503名無しさん@お腹いっぱい。2007/08/26(日) 23:41:55
http://packages.qa.debian.org/e/elisp-manual/news/20060805T210823Z.html
ということで>>499の予感的中だな
0504名無しさん@お腹いっぱい。2007/08/27(月) 00:48:32
Emacsの設定ってやることが多くて移植するときなんか正直かなり面倒ですよね
プロのEmacserの方は自分用に適当にconfig書いてシェルスクリプトを実行するだけで
新しいシステム上ですぐ使えるようになるパッケージとか作ってるんですか?
0505名無しさん@お腹いっぱい。2007/08/27(月) 00:51:06
そんなにしょっちゅう新しいシステムで Emacs 使うことないなぁ。
サーバ機では vi で済ますし。
0506名無しさん@お腹いっぱい。2007/08/27(月) 01:12:02
ウィンドウシステム毎の設定を .emacs に書いとけばいい
0507名無しさん@お腹いっぱい。2007/08/27(月) 01:22:29
>>504

設定ファイルは、普通、どんな環境でも動くように意識して書いておく。
ホストごとの設定も、そのホストでだけ有効になるようにして。

私のemacsの設定は、linux, ntemacs, cygwin, solaris全ての環境で動作するよ。
新しい環境へもっていくときも、設定ファイルをコピー(正確には、
バージョン管理システムからチェックアウト)するだけで、問題なく動く。
0508名無しさん@お腹いっぱい。2007/08/27(月) 01:22:42
>>504
.emacs持ってくる以外になんか必要なのか?
0509名無しさん@お腹いっぱい。2007/08/27(月) 01:35:52
パッケージがインストールされていない、とか。
0510名無しさん@お腹いっぱい。2007/08/27(月) 04:02:32
>>507
.emacsの行数どのくらい?
0511名無しさん@お腹いっぱい。2007/08/27(月) 08:04:38
>>510
6行
0512名無しさん@お腹いっぱい。2007/08/27(月) 10:53:27
504の言ってるのはビルドのことでしょ
自作のOS用にautomakeとかautoconf設定するのは確かに面倒
0513名無しさん@お腹いっぱい。2007/08/27(月) 11:20:23
>>512
なんで自作OSに話が飛躍するんだ。
新しくインストールした後の環境設定の話だろ。

漏れは自前パッケージは作っているが、
cvs版を追いかけている時は本体ビルドした後ビルドしなおしが面倒だな。
0514名無しさん@お腹いっぱい。2007/08/27(月) 11:31:41
わざわざ emacs 設定しなおすよりは tramp 使うなぁ。
0515名無しさん@お腹いっぱい。2007/08/27(月) 13:18:01
おまえらはインストール後の環境設定のことを移植と言うのかw
0516名無しさん@お腹いっぱい。2007/08/27(月) 16:13:06
移植といいたくなるほど自分の.eamcsは混沌としてるな。
0517名無しさん@お腹いっぱい。2007/08/27(月) 16:36:46
src/mとsrc/sをごにょごにょする
unexecルーチンをがんばって作る
temacsができたら後は力作業
0518名無しさん@お腹いっぱい。2007/08/27(月) 22:55:42
自分のOSに移植して改造加えてEamcsと命名したのか
0519名無しさん@お腹いっぱい。2007/08/28(火) 20:47:36
あるあるw
0520名無しさん@お腹いっぱい。2007/08/29(水) 00:59:50
Emacsで短形選択を行うにはどうしたらいいですか?
0521名無しさん@お腹いっぱい。2007/08/29(水) 01:22:18
たっけ〜
のっこ〜
0522名無しさん@お腹いっぱい。2007/08/29(水) 02:12:27
新概念: 短形
0523名無しさん@お腹いっぱい。2007/08/29(水) 02:44:14
短小包茎
0524名無しさん@お腹いっぱい。2007/08/29(水) 07:04:56
短形
短形
短形
短形
短形
矩形
短形
短形
0525名無しさん@お腹いっぱい。2007/08/29(水) 10:31:02
No apropos matches for `短形'
0526名無しさん@お腹いっぱい。2007/08/29(水) 13:52:34
短形って短縮形の短縮形?
0527名無しさん@お腹いっぱい。2007/08/29(水) 13:56:37
そんな言葉があっ短形
0528名無しさん@お腹いっぱい。2007/08/29(水) 14:18:43
>>520
矩形ですよ"くけい"

C-SPC で範囲選択して、

C-x r kとか
C-x r yとか
0529名無しさん@お腹いっぱい。2007/08/29(水) 14:43:13
>>520
C-h a rectangle
0530名無しさん@お腹いっぱい。2007/08/29(水) 15:45:14
パソコンショップ完全リンク
http://search.yahoo.co.jp/search?p=%E5%A4%A7%E6%89%8B+%E3%81%9D%E3%81%AE%E4%BB%96+%E6%9D%B1%E8%8A%9D%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88+%E3%82%A2%E3%83%BC%E3%82%AF%E3%80%80nec&ei=UTF-8&fr=top_v2&x=wrt
0531名無しさん@お腹いっぱい。2007/08/29(水) 17:04:46
multi-ttyキタコレ
0532名無しさん@お腹いっぱい。2007/08/29(水) 18:01:27
C-x r m/bでのブックマークって
バッファが変更(例えばブックマークより前の行に空白行が追加)されても同じ場所を示しますが、
これをvisual studioみたいに行が追加されたらそれにともない位置を変更し
「内容が」同じ場所を指すようにする機能ってありませんかね?

(before)
a
b ←ここにブックマークaa
c
d

(after)
a
 ←通常C-r m b aa <RET>ならここに移動する
b ←C-r m b aa<RET>でここに移動したい
c
d
■ このスレッドは過去ログ倉庫に格納されています