トップページunix
987コメント279KB

Emacs part13

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
なかったので立てました。

僕はemacsが大好きなんですが、どうしたら良いでしょうか?
はっきり逝って愛してます。なるべくemacsタンと振れ合いたいし、
emacsタンをもっともっと知りたいです。
だから俺の質問にはすべて答えてください。初心者の質問にも答えてくだっさい。
好きです。僕はemacssが好きなんです。

てか、もっとemacs語ればいいのに。なんでemacsのスレは進行が遅いの?
みんな、もっと積極的に発言しましょう!!

Emacs part12 (前スレ)
http://pc5.2ch.net/test/read.cgi/unix/1083217601/
0569名無しさん@お腹いっぱい。05/02/11 17:14:25
>>568 m9プギャー
0570名無しさん@お腹いっぱい。05/02/11 17:21:59
>>568
m9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(B
0571名無しさん@お腹いっぱい。05/02/11 17:26:19
>>568
m9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(B
0572名無しさん@お腹いっぱい。05/02/11 17:26:44
>>568
m9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(Bm9(^Д^)(IL_7^,0/(B
0573名無しさん@お腹いっぱい。05/02/11 17:27:23
文字化けしまくってて読めません。読めるようにしてください。
0574名無しさん@お腹いっぱい。05/02/11 17:58:38
>>566
もう一回。
M-x transient-mark-mode は、toggle する
0575名無しさん@お腹いっぱい。05/02/11 21:34:43
>>555
うちもまったく同じ環境で同様の症状がでている
仕方なく今は21.3に戻してつかっている
navi2ch でも起動するだけで落ちるな
057656605/02/11 21:47:36
>>574
ありがとうございます
数回やって見ましたが
disable のままかわりません
0577名無しさん@お腹いっぱい。05/02/11 22:00:04
一応書くけど
toggle ってのは disabled と enabled が入れ替わるってことで、
何度もやればいいわけじゃないよ。
057856605/02/11 22:08:37
はい、わかっています
何度やってもdisabled のままで
enable にはなりません

ちなみに Emacsを使いはじめたばかりなので 何を書けばいいかわかりませんが
一応以下にバージョンを書いておきます
GNU Emacs 21.3.1
です、
.emacsは 適当に日本語の環境等しか書いていません
0579名無しさん@お腹いっぱい。05/02/11 22:23:16
うんこの臭いしてくる。
0580名無しさん@お腹いっぱい。05/02/11 22:35:03
何回やってもdisableぅぅ? なんでだろ。
.emacs に (setq transient-mark-mode t) とか書いて Emacs 立ち上げ直して
みても駄目かな?
058156605/02/11 22:43:09
うぅーーん 自分で書いたテキストならうまくいった・・
もしかして Read Only なものはだめなんですかね?
Read Only のものを選択するにはどうしたらいいんですかね?
0582名無しさん@お腹いっぱい。05/02/11 22:45:00
>>580
Setting this variable directly does not take effect;
use either M-x customize or the function `transient-mark-mode'.
0583名無しさん@お腹いっぱい。05/02/11 22:48:12
根本的には、transient-mark-mode なんか使わないで
emacs 的な region という概念になれたほうが
いいと思うよ。
>>563 の質問に対して答えると、反転していなくても
mark と point の間できちんとコピーできる。
0584名無しさん@お腹いっぱい。05/02/11 22:48:52
>>582
21.3 なら setq でも大丈夫じゃなかったっけ? 普段 nil なんでよく知らんけど。
0585名無しさん@お腹いっぱい。05/02/11 23:24:54
>>555,575
Vine 3.1 で昨日ビルドしたやつ (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
だけど、mew も navi2ch も普通に使えてる。

ただ ebview でセレクションの検索を有効にしてたら
" *temp<N>" が大量にできていっていやんな感じだし
(http://heimat.jp/~nakaji/elips/20050113/5277.html)、
落ちた (backtrace は http://thread.gmane.org/E1CzEqo-0002EU-Le@lists.gnu.org
と同じっぽい)。
0586名無しさん@お腹いっぱい。05/02/11 23:30:36
vine で GNU Emacs 22.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.4.13) of 2005-02-11
だけど落ちたこと無いよ
0587名無しさん@お腹いっぱい。05/02/11 23:40:52
magic-mode-alist の ("<\\?xml " . xml-mode) を一番先頭に持って逝くには
どう書けばいい?

(("\\(?:<\\?xml\\s +[^>]*>\\)?\\s *<\\(?:!--\\(?:[^-]\\|-[^-]\\)*-->\\s *<\\)*\\(?:!DOCTYPE\\s +[^>]*>\\s *<\\s *\\(?:!--\\(?:[^-]\\|-[^-]\\)*-->\\s *<\\)*\\)?[Hh][Tt][Mm][Ll]" . html-mode)
("<\\?xml " . xml-mode)
("\\s *<\\(?:!--\\(?:[^-]\\|-[^-]\\)*-->\\s *<\\)*!DOCTYPE " . sgml-mode)
("%![^V]" . ps-mode)
("# xmcd " . conf-unix-mode))
0588名無しさん@お腹いっぱい。05/02/11 23:50:54
単純に先頭に追加すれば?
ダブってるのが許せないというなら、ちょっとlispの勉強してみよう。
「リスト遊び」という本が面白くてよい。
0589名無しさん@お腹いっぱい。05/02/11 23:53:39
普通に add-to-list すりゃいいやん。

; げ、いつのまにか cddb ファイルは conf-unix-mode に指定されてるのね
; 俺は自前で cddb-mode 作っちゃったけど
0590名無しさん@お腹いっぱい。05/02/12 00:00:48
emacs で vim の :n,ms/^/h/ (n, m ∈ N) のような処理したいのですが
どういったコマンドでそれを実現できますか?
0591名無しさん@お腹いっぱい。05/02/12 00:06:45
>>588
いや、マニュアルをみつつこんなの書いてみたんですが、もっとスマートに書
けないかなと思って。

(let ((elt (rassq 'xml-mode magic-mode-alist)))
(when elt
(setcdr elt 'nxml-mode)
(setq magic-mode-alist (remove elt magic-mode-alist)
magic-mode-alist (cons elt magic-mode-alist))))
0592名無しさん@お腹いっぱい。05/02/12 00:06:58
>>590
n の行頭で C-SPC
m の行頭に移動
C-x r t h RET
かなあ。もしくは素直(?)にviper使うとか。
0593名無しさん@お腹いっぱい。05/02/12 00:07:33
vim を知らないのでどんな機能かわかりません。
0594名無しさん@お腹いっぱい。05/02/12 00:09:34
>>589
add-to-list は既にリストに要素が含まれる場合は追加しないよ。
587 のは (setq l (cons x (remove x l))) てことだと思う。

>>590
(replace-regexp "^" "h" nil (save-excursion (goto-line n) (point))
(end (save-excursion (goto-line (1+ m)) (point))))
0595名無しさん@お腹いっぱい。05/02/12 00:10:07
おっと
- (end (save-excursion (goto-line (1+ m)) (point))))
+ (save-excursion (goto-line (1+ m)) (point)))
0596名無しさん@お腹いっぱい。05/02/12 00:10:07
あー、n,m って行番号か。
narrow-to-region して replace してもいいかも。
0597名無しさん@お腹いっぱい。05/02/12 00:15:37
>>594
> add-to-list は既にリストに要素が含まれる場合は追加しないよ。
おおっと、既に入ってる訳ね、失礼。cddb に目を奪われてた。
059856605/02/12 00:27:56
>>583
それが コピーできていないんですよ
C-SPACEで Mark setとはでるんですけど
カーソルを移動させて Esc-w でも C-w でも A-w でもなにも表示は出ず
C-y をしてもなにもペーストされません

0599名無しさん@お腹いっぱい。05/02/12 00:29:02
>>598
C-h v kill-ring は?
0600名無しさん@お腹いっぱい。05/02/12 00:35:23
こいつはread-onlyなものをコピーできないっていってるんじゃないのか?
俺は使えないからわからんけど
0601名無しさん@お腹いっぱい。05/02/12 00:47:51
read-only な状態だと編集できない場合が多いから、
C-y できないのは当然だよ。
0602名無しさん@お腹いっぱい。05/02/12 00:49:00
viper なんだから vi と同様 mX して y'X して p すりゃいいじゃん。
060357505/02/12 00:50:32
>> 585 586
そうですか。何が悪いのだろう。
--with-gtk でbuildしているので 586さんと全く同じですね。
color-mateとかが悪さしているのかなあ

独自でいれているのを一つずつ外して試してみます。。


0604gnus user05/02/12 00:52:34
>>603
gdb emacs core して, xbacktrace したのをみてみるとよいと思われ。
060557505/02/12 00:54:20
>> 6
THX
早速やってみます

しかし、make bootstrap で1時間位かかかる。。

060657505/02/12 00:55:16
失礼
605は 
>> 604
の間違いです。

よりによって変なレスにアンカーつけてしまった。欝だ
0607名無しさん@お腹いっぱい。05/02/12 01:06:47
>>592
全部 h だけになるよw

任意行の行頭に h を挿入(付加)したいんですわ。
具体的には ttp:// の行が2000行あって一気に http:// にしたし。
0608名無しさん@お腹いっぱい。05/02/12 01:08:39
vi使えばいいじゃん
0609名無しさん@お腹いっぱい。05/02/12 01:11:19
あぁ Query replace regexp でできたよ!
0610名無しさん@お腹いっぱい。05/02/12 01:28:06
>>605
するときは、emacs/src のディレクトリでね
0611名無しさん@お腹いっぱい。05/02/12 03:57:34
emacs-develっていつのまにかspam対策でもやったの?
0612名無しさん@お腹いっぱい。05/02/12 04:50:21
さすがUNIX板、いまごろプギャー厨かよw
0613名無しさん@お腹いっぱい。05/02/12 05:03:34
>>612
m9(^Д^)プギャーッ
0614名無しさん@お腹いっぱい。05/02/12 05:56:02
>>612
m9(^Д^)プギャーッ
0615名無しさん@お腹いっぱい。05/02/12 09:34:31
>>607
普通にマクロ使えばいいのでわ?
0616名無しさん@お腹いっぱい。05/02/12 09:38:25
narrow-regionするかtransient-mark-modeでreplace-regexp
0617名無しさん@お腹いっぱい。05/02/12 09:54:55
>>607
???
0618名無しさん@お腹いっぱい。05/02/12 14:03:00
そういえば、あいたんって消えたの?漏れあの勢いが好きだったんだけど。
0619名無しさん@お腹いっぱい。05/02/12 15:38:32
>>618
あいたんかー。何気に楽しかったよね、あの子。
0620名無しさん@お腹いっぱい。05/02/12 15:54:42
あいたんキボン
0621名無しさん@お腹いっぱい。05/02/13 23:11:37
Meadow-2.1使ってますが、outline-modeが
Allout outline mode V1.29
とかになってる。これって、今迄のoutline-modeに代わるものなんですか?
全然キーマップが変っていてヽ(`Д´)ノ。
0622名無しさん@お腹いっぱい。05/02/14 00:25:45
すれ違い
062360305/02/14 00:39:51
遅くなりましたが、結局原因はっきりしません。

mew 起動時のcoreだとx-face辺りで落ちていたのでそれを外してみても、
別の場所(xterm.c?)で死んでしまいました
--with-gtk をやめたり、最小構成で動かしてもやっぱりだめですた。。
-nw だとちゃんと動いているようなので、X 関係なのかなあ。

でも 585、586さんは同じ環境で動いているんですよね。。
うーむ。





0624名無しさん@お腹いっぱい。05/02/14 01:46:52
>>623
落ちる原因は、coredumpのbacktraceを見れば分かりそうなもんだけど。
0625名無しさん@お腹いっぱい。05/02/15 00:12:45
お聞きしたいのですが
よく Emacsでskk と聞くのですが
skk て skk input って奴のことですよね?
そんなに emacs に特化しているのでしょうか?
私は kterm上でcanna, kinput2で使っているのですが使うべきでしょうか?
また 現在の環境を維持したまま Emacsだけはskkと言うこともできるのでしょうか?
0626名無しさん@お腹いっぱい。05/02/15 00:25:03
> また 現在の環境を維持したまま Emacsだけはskkと言うこともできるのでしょうか?
可能
0627名無しさん@お腹いっぱい。05/02/15 00:26:08
# skk inputとはskkinputの事ですよね?
元祖SKKはEmacs上で動くプログラミング言語で書かれています。
skkinputとは、Xの各種クライアント上でも同じような使い勝手で
入力できるようにした、kinput2に相当するものです。
ktermなどではkinput2でcanna, Emacsではskkという使い分けは
特に難しい設定をする事無く普通にできますが、
人間の側が混乱するかもしれません。
0628名無しさん@お腹いっぱい。05/02/15 00:38:45
>>625
> skk て skk input って奴のことですよね?
m9(^Д^)プギャーッ
> 私は kterm上でcanna, kinput2で使っているのですが使うべきでしょうか?
いいえ
> また 現在の環境を維持したまま Emacsだけはskkと言うこともできるのでしょうか?
できる
0629名無しさん@お腹いっぱい。05/02/15 02:47:52
SKK はその全てを lisp で記述されている。
つまりEmacs上での動作がネイティブなのね。
対して skkinput は単に C で記述された
SKK の X へのラッパーにすぎないということです。

skkinput は SKK のために Emacs から出られないヒキコモリを
X という海へ連れていくための支援策のひとつでもあるのです。
0630名無しさん@お腹いっぱい。05/02/15 03:52:57
SKK 説明はここまで。
0631名無しさん@お腹いっぱい。05/02/15 06:40:05
> 対して skkinput は単に C で記述された
> SKK の X へのラッパーにすぎないということです。
これ違うよ。
0632名無しさん@お腹いっぱい。05/02/15 06:41:25
> 対して skkinput は単に C で記述された
> SKK の X へのラッパーにすぎないということです。
skkinput3ならば「SKK の X へのラッパー」と言えるかもしれないが。
0633名無しさん@お腹いっぱい。05/02/15 06:42:23
なんでこんな時間に被るのよorz
0634名無しさん@お腹いっぱい。05/02/15 07:21:56
運命だからさ
0635名無しさん@お腹いっぱい。05/02/15 21:40:34
viperで使ってたのですが
色々と不便なのでEmacsの操作を覚えたいと思っているのですが
キーバインドを紹介したぺーとかありませんか?
0636名無しさん@お腹いっぱい。05/02/15 21:42:55
下までいくと勝手に半分位スクロールさせて中央にカーソルが移動するのだが
vi見たくずっと下にカーソルがありながらスクロールできないの?
0637名無しさん@お腹いっぱい。05/02/15 22:00:35
>>635
M-x help-with-tutorial
0638名無しさん@お腹いっぱい。05/02/15 22:04:46
>635
M-x help-with-tutorial は一度は見ておくべし
あとは ttp://www.bookshelf.jp/soft/meadow.html とか

>636
(setq scroll-step 1)
0639名無しさん@お腹いっぱい。05/02/15 22:27:42

Linux 環境に emacs を入れています。
C-x v l で、CVS 管理下のソースコードのログを読みたいのですが、
CVS に commit されているソースコードは Windows で開発していて、
commit も WinCVS で commit されています。当然コメントもShiftJIS です。

この状態で C-x v l すると、バッファには

revision 1.1
date: 2004/12/07 05:09:13; author: ******; state: Exp;
\220V\213K\222\307\211\301^M

みたいな感じに文字化けしてしまいます。

なので、コマンドラインで

$ cvs log ****.java | nkf -e

みたいにして読んでいます。

これを C-x v l しても正しく表示させるにはどうしたらいいでしょうか?
.emacs か何かに書けばよいのでしょうか?

# 開発環境が Windows がメインなので、CVS に commitするときのコメントを
# euc にしろ、というのはすみませんが出来ません。
# Linux 環境から commit することはないので、読むことさえ出来ればokです。
0640名無しさん@お腹いっぱい。05/02/15 22:42:04
modify-coding-system-alistでなんとかならんかね?
0641名無しさん@お腹いっぱい。05/02/15 22:45:40
>>639
set-HOGEHOGE-coding-system で設定できないかな?
set-buffer-file-coding-system とか
set-terminal-coding-system とか。
0642名無しさん@お腹いっぱい。05/02/15 22:53:08
みなさんレスどうもありがとうございます。

>>640さん
C-x v l は、vc(version control) というパッケージですよね。
.emacs に

(modify-coding-system-alist 'process "vc"
'(undecided . shift_jis-unix))

を追加してみましたが、変わりませんでした。

>>641 さん

C-x v l して、639 みたいになったバッファに C-x o に移動して、

M-x set-buffer-file-coding-system とかして shift-jis-unix しても、変わりませんでした...
0643名無しさん@お腹いっぱい。05/02/15 22:57:24
>>642
modify-coding-system-alist にはプログラムの名前を指定するので、
"vc" ではなく "cvs"。
0644名無しさん@お腹いっぱい。05/02/15 23:04:18
>>643 さん

できました!!
以下のように設定することで、無事に文字化けせずに
バッファの中に表示されました!!
どうもありがとうございました。

modify-coding-system-alist 'process "cvs"
'(undecided . shift_jis-unix))
0645名無しさん@お腹いっぱい。05/02/15 23:51:55
このやりとり見てて思ったんだけど、こんな風にしたら便利かもとか思った。

(setq vc-with-coding-system-alist
'(("/your/project/path" . (undecided . shift_jis-unix))))
(defadvice vc-do-command (around vc-with-coding-system activate)
"`vc-with-coding-system-alist' によって使う coding-system を変えてみる。"
(let ((coding-system
(cdr (assoc-if
(lambda (x)
(string-match
(concat "^" (regexp-quote (expand-file-name x)))
;; arg 3 = file
(expand-file-name (ad-get-arg 3))))
vc-with-coding-system-alist))))
(unless (consp coding-system)
(setq coding-system (cons coding-system coding-system)))
(let ((coding-system-for-read (car coding-system))
(coding-system-for-write (cdr coding-system)))
ad-do-it)))

>>644
分かってるかもしれないけど、ちょっとだけ解説。
その設定は
CVS からの出力を `undecided'(自動判別) で読む。
CVS への出力を `shift_jis-unix' で送る。
という事を意味してる。
これを知らないとたま〜にはまるんで気を付けてね。
064664005/02/16 00:01:00
>>642
あ、ごめん。別の板行ってた。
できてよかったね。おつかれさん。
0647名無しさん@お腹いっぱい。05/02/16 01:04:39
あるファイルが emacs のバッファに取り込んであったとして、
そのファイルを別のエディタ等で変更した後に
再び emacs の方でそのファイルの最新の状態で読みたいとすると、
どのような操作をするのが一番楽になりますか?

自分は kill-buffer してから C-x C-f で読み込み直しているのですが、
もっと楽な方法はないものかと


0648名無しさん@お腹いっぱい。05/02/16 01:09:16
>>647
C-x C-v かな?
0649名無しさん@お腹いっぱい。05/02/16 01:10:42
.emacsを書き換えたらemacsを再起動しなくては読みこめないんですかね?
ちょっとづつ書き換えているのですが なかなか起動もおそいしめんどくさい・・
0650名無しさん@お腹いっぱい。05/02/16 01:13:33
built-in functionでエラー出てるのgdbで追いかけてるんだけど
gdbで
p (Lisp_Object)tail.u.val
とかしても
No symbol "Lisp_Object" in current context.
って出て値が見れない。

gdbからLisp_Objectに何入ってるか調べるのどうしたら良い?
Emacsから見える値が知りたい。
0651名無しさん@お腹いっぱい。05/02/16 01:22:40
>>648
THX!!
長年の悩みが解消しました
0652名無しさん@お腹いっぱい。05/02/16 01:27:47
>>650
`pr' で見れない?
cf. (Info-goto-node "(emacs)Checklist")
0653名無しさん@お腹いっぱい。05/02/16 01:29:48
>>647
M-x revert-buffer
0654名無しさん@お腹いっぱい。05/02/16 01:32:29
>>649
M-x load-file
M-x load-library
C-x C-f .emacs M-x eval-current-buffer

こんな感じでどうだろ

065565005/02/16 01:57:41
>>652
ありがとう
srcディレクトリに.gdbinitがあるのね
(gdb) p tail
(gdb) pr


Program received signal SIGILL, Illegal instruction.
<function called from gdb>
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function (debug_print) will be abandoned.

とか出たけどなんかうまくいきそう。
0656名無しさん@お腹いっぱい。05/02/16 02:40:56
>>649
再起動が確実。

>>654
一行消した場合はそれじゃだめだろう。
0657名無しさん@お腹いっぱい。05/02/16 02:52:38
>>656
確かに消す時もあるね
書き換えってのを勝手にプラス方向に解釈していたよ

>>654は参考程度にしておいてください
0658名無しさん@お腹いっぱい。05/02/16 03:59:08
>>650
emacs/src/.gdbinit
を読み込んでから

p tail.u.val
xtype
してから
Lisp_Objectの型によって
xstring
xcons
などでみれるとおもうよ
0659名無しさん@お腹いっぱい。05/02/16 15:45:47
BackSpaceを押すと
C-h (Type ? for further options)-
とミニバッファ?にでるんですけど どうしたらいいんですかね?
2回つづけて押すと
Type one of the options listed, or SPACE or DEL to scroll:
になります
Deleteでカーソルの前のもじの削除になります
Backspaceで前の文字の削除になるのでしょうか?
0660名無しさん@お腹いっぱい。05/02/16 15:53:51
>>659
書いてあるとおりですよ。
一覧のどれかを押すとヘルプが表示できます。
0661 ◆U2vkP/Ajkw 05/02/16 15:54:12
Emacs使い始めて間もないけど
EmacsとVim使いがわかれる理由が両方使って始めてわかるな
Emacsはコマンドが難解すぎる
1文字置換えするのにも 置換えする長い文字うって
それから 2回に分けて置換え文字列と 置換え後の文字列をうたなきゃならん
M-x replace-regexp <RET> a <RET> b <RET>
:$s/a/b/
EmacsもWindowsのGUIエディタにくらべたら全然楽だけど
俺みたいにVimから使い始めた奴は Emacsになかなか乗り換えれないな
俺もNavi2ch使うくらいだし
編集するのにEmacs使おうと思っても 分けがわからないからなかなか Emacs使う気になれん
0662名無しさん@お腹いっぱい。05/02/16 15:55:00
>>661
M-%
066365905/02/16 15:57:29
どうすればBackspaceで1文字削除に変えられるのでしょうか?
0664名無しさん@お腹いっぱい。05/02/16 16:01:35
質問します
EmacsとFireFoxを使っているのですが
どうすれば、EmacsでコピーしたものをFireFoxに張り付けられるのですか?
教えて下さい
0665名無しさん@お腹いっぱい。05/02/16 16:03:03
x-select-enable-clipboard
066666405/02/16 16:05:36
>>665
私に言ってるんですか?
M-x x-select-enable-clipboard
はないんですけど?
0667名無しさん@お腹いっぱい。05/02/16 16:05:53
>>663
http://www.bookshelf.jp/texi/faq/faq-ja-21_1_10.html#SEC141
066866405/02/16 16:17:00
あ、ごめんなさい
(setq x-select-enable-clipboard t)
でするんですね
ですが コピーして
FireFoxでC-vしてもペーストができません
■ このスレッドは過去ログ倉庫に格納されています