トップページunix
982コメント294KB

Emacs part12

■ このスレッドは過去ログ倉庫に格納されています
0001今臭NGNG
今日も秀丸の起動から一日が始まります。
各種 Emacs 関連はこちらで。

Emacs part11 (前スレ)
http://pc3.2ch.net/test/read.cgi/unix/1075033822/

emacs撲滅委員会
http://pc3.2ch.net/test/read.cgi/unix/1073293910/
0302名無しさん@お腹いっぱい。NGNG
/usr/shareの下にインストールするEmacsですが、
Linux流の今風のディレクトリ活用方法だと、
/usr/libの下の方がふさわしくないですか?
0303名無しさん@お腹いっぱい。NGNG
板違い
0304299NGNG
ttp://www.bookshelf.jp/pukiwiki/pukiwiki.php?%A5%BF%A5%D6%A4%C7%A5%D0%A5%C3%A5%D5%A5%A1%A4%F2%C0%DA%A4%EA%C2%D8%A4%A8%A4%EB
に書き込んだ人、ありがと。
0305名無しさん@お腹いっぱい。NGNG
>>296-298 うおー便利だー! ありがとう!
0306名無しさん@お腹いっぱい。NGNG
trampを入れてみたのですが、リモートのファイルのアクセスが遅いのです。

rshのmethodで、近くのリモートのファイルをオープンするのに
だいたい10秒かかります。
こんなものなんでしょうか?
0307名無しさん@お腹いっぱい。NGNG
replace-stringって結構使いません?
それなのにデフォでは、キーバインドがされてないんですね。
みなさん、いちいちM-x replace-stringってやってんですか?
それとも、ESC C-%(replace-regexp)使ってるんですか?
0308名無しさん@お腹いっぱい。NGNG
query-replace(M-%) で ! 使えばいいんじゃないの?
0309307NGNG
>>308
それって、1回毎に問い合わせてくるじゃん。
100個もの置換するのに使ってられない。
0310名無しさん@お腹いっぱい。NGNG
>>309
だから、一回目の確認のときに ! を入力しろ、
>>308が言ってくれているんじゃないか

! の意味が分からないなら、まず ? を入れてみろ
0311名無しさん@お腹いっぱい。NGNG
ファイルの最終更新時刻は file-attributes で取得出来ますが、
この値を elisp だけで変更することは可能でしょうか?
具体的には touch -t CCYYMMDDhhmm.SS filename 相当の事を
elisp のみで実行したいのです。
0312名無しさん@お腹いっぱい。NGNG
elisp から touch を呼んじゃダメってことですか?
0313名無しさん@お腹いっぱい。NGNG
set-file-times is a built-in function in `src/fileio.c'.
(set-file-times FILENAME &optional TIME)

Set times of file FILENAME to TIME.
Set both access and modification times.
Return t on success, else nil.
Use the current time if TIME is nil. TIME is in the format of
`current-time'.
0314名無しさん@お腹いっぱい。NGNG
>>312
今はこんな処理してますけど、
ファイルネームに日本語が使われていると文字化けしてしまいます。
自分では日本語のファイルネームなんて使わないのですが
他人の作るファイルに使われる事がよくありますのでどうにかしたいなと。

(call-process
"touch" nil nil nil
"-t" (format-time-string "%Y%m%d%H%M.%S" date) (shell-quote-argument file))
0315名無しさん@お腹いっぱい。NGNG
>>313
日本語のファイルネームで試して見ました。問題ありません。
多謝!!
0316名無しさん@お腹いっぱい。NGNG
root userでemacsが起動しません。
エラーメッセージの意味も判りません。
御指導願えませんか?
Xlib: connection to ":0.0: refused by server
Xlib: No protocol specified

emacs: Cannot connect to X server :0.0.
Check the DISPLAY environment variable ro use `-d'.
Also use the `xhost progarm to verify that it is set to permit
connections form your machine.
0317名無しさん@お腹いっぱい。NGNG
英語の勉強しましょう。
0318名無しさん@お腹いっぱい。NGNG
よく見るとコピペじゃなくて手打ちか
0319名無しさん@お腹いっぱい。NGNG
-nw
0320名無しさん@お腹いっぱい。NGNG
>>314
ファイル名のcoding systemをちゃんと設定してないだけじゃないかなあ。
0321名無しさん@お腹いっぱい。NGNG
>>316
http://www.gentoo.org/doc/en/su-x.xml
0322名無しさん@お腹いっぱい。NGNG
>>320
call-process の ARGS は以下の順で見付かったもので encode するようだ。

1. coding-system-for-write
2. process-coding-system-alist
3. default-process-coding-system

(default-)file-name-coding-system ではないので、ちゃんと設定してあっても
正常に動作しないこともあるでしょう。
0323名無しさん@お腹いっぱい。NGNG
>>320
314があるのをここで知った。
どうしてもhideになると思ったら
navi2ch-article-default-message-filter-by-message-alist
のせいだった。
0324名無しさん@お腹いっぱい。NGNG
そういう理由だったのね。サンクスw
0325名無しさん@お腹いっぱい。NGNG
C-xC-eはデフォで潰してあるというのにね。
0326名無しさん@お腹いっぱい。NGNG
こうしてpoohの悪業は語り継がれていくのであったとさ
0327名無しさん@お腹いっぱい。NGNG
pooh?
0328名無しさん@お腹いっぱい。NGNG
えっと、2つのwindow開いて(2つに画面割って)、カーソルのない方のwindow
を下にスクロールするのは、M-Cvですけど、上にスクロールさせるのってキー
バインドされてますか?私、emacs -nwすること多いんで、スクロールバー使
えないもんで、いちいち向こうのwindowに移らないでもできたらなぁ、と思っ
てるんですが、どなたか教えてくらはい。

0329名無しさん@お腹いっぱい。NGNG
C-M-S-v
つーか C-h w すれ
0330名無しさん@お腹いっぱい。NGNG
ありがとうございます。
が、C-Mってのは、どうやってやればいいのでしょう。
Ctrlの後、Mキーを押すと改行になっちゃうし、
Escの後にCtrl+SキーだとRegexp-i-searchになっちゃう。
ググったのですが、出てきません。さっきから30分くらい
やってんですけど。
0331名無しさん@お腹いっぱい。NGNG
>>330
混乱してるみたいだけど
C = Ctrl
M = Meta(Esc)
S = Shift
だよ。要はこの3つ押しながら v を押すと。
でもどっちにしろ -nw だと無理な予感。適当なキーにバインドしたら?
0332名無しさん@お腹いっぱい。NGNG
>>331
どうもありがとん。
VineLinux上だとOKですた。
いや、自宅からwindows+cygwin経由でemacs -nwやってるんですが、
今、会社の別のwindowsPCからttssh経由でやろうとしたら、
Ctrl+ESC(ESC+Ctrl)はスタートメニューが出てきちゃう。
はい、別のキーバインドも考えて見末。以前、X windowも入れた
けど、ADSL12MB/bpsじゃ、止めといた方がいいかなぁと思って
止めます田。
0333名無しさん@お腹いっぱい。NGNG
実測で12MB/sってことは100Mbps?
まあ12Mbpsの間違いだろうけど、それでも実測でそれなら十分使えるよ。
起動時は多少遅いかも知れないけど。
ネットワークのスループットよりもレイテンシや安定性の方が影響する。
0334名無しさん@お腹いっぱい。NGNG
>>332
> Ctrl+ESC(ESC+Ctrl)はスタートメニューが出てきちゃう。
AltをMetaとして使うときは同時押しでいいけど、Escは同時押しじゃ駄目よん、
離さなきゃ。
0335名無しさん@お腹いっぱい。NGNG
シェルモードのキーバインドについておたずねします。
普通のシェルでcontrol+c(ブレイク?)は
シェルモードでは何に当たるのですか?
0336名無しさん@お腹いっぱい。NGNG
C-h m is your friend.
0337名無しさん@お腹いっぱい。NGNG
>>336
Thank you very much!!
0338名無しさん@お腹いっぱい。NGNG
>>333
どうもです。はい、12Mbpsですた。お詳しいですね。
>>334
同時にせよ非同時にせよ同じようです>windows。global-set-keyで
C-c vあたりにしてみますたが何かとダブりそうな悪寒。
0339名無しさん@お腹いっぱい。NGNG
ADSL だと down 30Mbps でも up 1Mbps とかあるからな。
0340名無しさん@お腹いっぱい。NGNG
>>339
おまいはEmacs使うのにどれくらいの通信が発生すると思ってるんだ?
webブラウザみたいに画像がバンバン飛ぶわけでもあるまいし、十分使える。
0341名無しさん@お腹いっぱい。NGNG
X の場合の話だし、それ以前に>>339は Emacs 云々には触れていない訳だが。
なんか最近荒れぎみだなや。
0342名無しさん@お腹いっぱい。NGNG
SQL文を整形してくれるlispないでつか?!

たとえば
SELECT A,B,C FROM TBL
WHERE D=F
なのを
SELECT A
, B
, C
FROM TBL
WHERE D = F
みたいにしてくれると幸せでつ。
0343名無しさん@お腹いっぱい。NGNG
似たような環境が揃っているのでやってみた。
ちと引っかかりますなあ。慣れればそんなに気にならなくなるレベルだと思いますが。

その昔ISDN 1Bで同じ事をやった時は悲惨な物だった…

0344名無しさん@お腹いっぱい。NGNG
cc-mode でコメント(/* */, //) もインデント指定のですが,
なぜか勝手にインデント無しの状態になってしまいます.

コメントについてもインデントするにはどうしたらいいのでしょうか?
なお,cc-mode 関連の設定は以下のようになっています.

(setq c-basic-offset 4)
(c-toggle-hungry-state 1)
(setq comment-column 70)
(require 'cpp-complt)
(cpp-complt-init)


FAQ のような気もするのですが.検索してもわかりませんでした.
どなたかアドバイスお願いします.
0345名無しさん@お腹いっぱい。NGNG
意味の通る日本語で書いてよ。
0346343NGNG
すみません.

> cc-mode でコメント(/* */, //) もインデント指定のですが,
は,
cc-mode でコメント(/* */, //)もインデントしたいのですが,

の間違いです.
0347名無しさん@お腹いっぱい。NGNG
>>344
cc-modeの設定って、こんなのだっけ?
0348343NGNG
>> 347
謎が解けました.的確な指摘ありがとうございました.
03491NGNG












うるせえぞ、君達。僕にも教えろ
0350今臭NGNG
今日も秀丸の起動から一日が始まります。
EMACSはクソ。価値無し
0351名無しさん@お腹いっぱい。NGNG
calcをインストールしてM-x calcで起動すると、Calculator-modeというのが立ち上がってうまく動きません。
こいつを殺したいのですが、どうすれば良いでしょう。環境は

Fedora Core 2
(emacs-version)
"GNU Emacs 21.3.1 (i386-redhat-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2004-04-16 on bugs.devel.redhat.com"

です。
0352名無しさん@お腹いっぱい。NGNG
>>351
板違い Linux 板へ GO!
0353今臭NGNG

>>351
うざい。
>>352
おまえもな
0354名無しさん@お腹いっぱい。NGNG
>>353 is kitty..
0355今臭NGNG
>>354
おまえもな
>>355
今臭
0356名無しさん@お腹いっぱい。NGNG
>>355
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
ということにしたいのですね。
0357名無しさん@お腹いっぱい。NGNG
--with-gtk で作った temacs が make src/temacs するたびにタイムスタンプ
が変るのはなぜ?
0358357NGNG
まちがえた。--with-gtk で configure したあと、make bootstrap して、その
後(必要ないんだけど) make すると make するたびに dump されるのはなぜ?
今まで、emacs-21.3.50.1 だったのが、--with-gtk にしたととたん
emacs-21.3.50.2 になったので気づいた。
少し追ってみると、dump するたびに temacs のタイムスタンプが更新されているっぽい
0359今臭NGNG
>>358
emacsだからだよ。
信頼ないしな
0360名無しさん@お腹いっぱい。NGNG
↑今臭ってなに?うざくてしょうがない。
0361351NGNG
>>352
Linuxの問題ではなくて、Emacsの問題と思ってここで聞いているのですが、
板違いなんでしょうか?
0362名無しさん@お腹いっぱい。NGNG
何で殺したいのかよくわからんな。知りたいのはqを押すってことか?
0363名無しさん@お腹いっぱい。NGNG
>>361
質問の答はわからんのですが、
ここで間違ってはいないですよ。
0364名無しさん@お腹いっぱい。NGNG
Linux板で聞くのも無駄ではないとは思うけどな。順序としては。
0365名無しさん@お腹いっぱい。NGNG
>>351
多分 calc の基本関数が load または autoload されてないので
calc で補完されて calculator-mode が立ち上がってる。
calculator-mode を殺すのは無意味なので、
(laod "calc") あたりする。calc.el とかマニュアルに書いてあるでしょ。

>>361
時々いるね。linux って文字見るとすぐ誘導するやつ。
0366名無しさん@お腹いっぱい。NGNG
そりゃ自分で原因の切り分けも出来ないLinuxユーザに散々荒らされれば
そうしたくもなるのも無理はないと思うんだけど。
順序としてはまずLinux板に立ち寄ってディストリ固有の問題でないことを
確実にしてからUNIX板に来るのがいいと思うよ。
バカは自分がバカであることが判断できないように、原因切り分けが
確実でない人は自分の推測が間違っていてもわからない。
最近の目立つ例だとPostfixスレの花火がある。

この板よりもLinux板(の該当スレ)の方が該当ディストリの知識を持つ人が多いのは
明らかだから、まずLinux板へいくのが円滑な問題解決と円満なコミュニケーション
に益すると思う。
わざわざ場を荒らだてるためにその逆をいくこともないでしょう。
0367名無しさん@お腹いっぱい。NGNG
釣られすぎ。
答えたくないなら放置しとけ。
0368362=366NGNG
答えたんですけど、一応。
0369名無しさん@お腹いっぱい。NGNG
たかが2chで
> 円満なコミュニケーション
とか
> わざわざ場を荒らだてる
とか感じるのは危険な兆候だね。しばらく離れてみたら?
0370名無しさん@お腹いっぱい。NGNG
おまえがナー
0371名無しさん@お腹いっぱい。NGNG
まともに反論できないからって相手を攻撃したがるのは危険な兆候ですね
……というか厨の示す顕著な特徴の一つですね。
0372名無しさん@お腹いっぱい。NGNG
あーあ。恥ずかしぃなぁ。もう。
0373名無しさん@お腹いっぱい。NGNG
cc-modeで、インデント=4で、タブではなく、スペースで埋めるには
c-XXXという変数をどういう値に設定すればいいでしょうか?
0374名無しさん@お腹いっぱい。NGNG
indent-tabs-mode
0375今臭NGNG

>>360
おまえは誰だよ。
>>373
スペースで埋めんなよ。
0376名無しさん@お腹いっぱい。NGNG
Solaris9 上で Emacs 21.3 + Mew 3.3 を使っています。
ターミナルモード (-nw) の場合は大丈夫なのですが、
X 上で使うと、メールを表示するときに、
Summary バッファだけでなく、Message バッファの方にも
色が反転したカーソルが表示されます。

どうすれば、直るでしょうか?
これが気持ち悪くて、いまだに XEmacs 21 使ってます…。
0377名無しさん@お腹いっぱい。NGNG
>>376
C-h n
0378名無しさん@お腹いっぱい。NGNG
>>376
> Summary バッファだけでなく、Message バッファの方にも
> 色が反転したカーソルが表示されます。

っていうか、複数バッファが表示されている時は
どのバッファにもカーソルが出るようになってる
んだろ、emacs21は。

0379名無しさん@お腹いっぱい。NGNG
>>347
ありがとうございます
0380376NGNG
>>378
ありがとうございます。自分でもそういう仕様だと気付いて、
cursor-in-non-selected-windows に到達しました。
0381名無しさん@お腹いっぱい。NGNG
今臭って emacser の意味か?
0382名無しさん@お腹いっぱい。NGNG
そうか、へーでもこいて困ってるのかと思ったyo
0383今臭NGNG
>>381
そうだよ。

>>380,381
今頃気付いたのか?
0384351NGNG
>>365
どうもです。説明が足りなかったみたいです。すみません。
calcをインストールして、M-x calcとすると、calcが起動します。しかし、何か入力すると、
同時に起動しているらしいcalculatorが入力を横取りしてcalcが使えない・・・となるのです。

calcをインストールすると、.emacsに以下が書き込まれます。

;;; Commands added by calc-private-autoloads on Thu Oct 21 16:23:12 2004.
(autoload 'calc-dispatch "calc" "Calculator Options" t)
(autoload 'full-calc "calc" "Full-screen Calculator" t)
(autoload 'full-calc-keypad "calc" "Full-screen X Calculator" t)
(autoload 'calc-eval "calc" "Use Calculator from Lisp")
(autoload 'defmath "calc" nil t t)
(autoload 'calc "calc" "Calculator Mode" t)
(autoload 'quick-calc "calc" "Quick Calculator" t)
(autoload 'calc-keypad "calc" "X windows Calculator" t)
(autoload 'calc-embedded "calc" "Use Calc inside any buffer" t)
(autoload 'calc-embedded-activate "calc" "Activate =>'s in buffer" t)
(autoload 'calc-grab-region "calc" "Grab region of Calc data" t)
(autoload 'calc-grab-rectangle "calc" "Grab rectangle of data" t)
(setq load-path (nconc load-path (list "/usr/local/share/emacs/site-lisp/calc-2.02f")))
(global-set-key "\e#" 'calc-dispatch)

で、上述の通りautoloadは効いているみたいです。calculatorがcalcと同時に起動しないように
なれば良いのですが・・・。
0385名無しさん@お腹いっぱい。NGNG
>>384
> どうもです。説明が足りなかったみたいです。すみません。
> calcをインストールして、M-x calcとすると、calcが起動します。しかし、何か入力すると、
> 同時に起動しているらしいcalculatorが入力を横取りしてcalcが使えない・・・となるのです。

これを説明が足りないと表現するのか……
0386名無しさん@お腹いっぱい。NGNG
なんか混乱してるな。一度寝れ。
0387名無しさん@お腹いっぱい。NGNG
calculator なんて起動してねーよ。
C-h m すりゃ calc 配下のバッファだって分かるだろうが。
入力食われるのは
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/emacs/emacs/etc/PROBLEMS?rev=1.74.4.46
の calc の項のパッチ当ててないからじゃね?
0388名無しさん@お腹いっぱい。NGNG
起きた現象ではなく(見当違いの)自分の解釈を語ったため、
現場が混乱した例。
0389今臭NGNG

次からは気をつけよーな >all
0390351NGNG
お騒がせしました。>>387のパッチを当てたら希望通りの動作になりました。
有難うございました。
0391365NGNG
少しだけ >>366 の気持ちがわかった。
0392名無しさん@お腹いっぱい。NGNG
diff-modeで、変更箇所に着色しようとしています。

(add-hook 'diff-mode-hook
'(lambda ()
(set-face-foreground 'diff-changed-face "DeepSkyBlue1")))
;; この部分 = diffファイルの修正箇所と

(defface font-lock-futility-face '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar font-lock-futility-face 'font-lock-futility-face)

(defadvice font-lock-mode
(before font-lock-mode-visiblize activate)
(font-lock-add-keywords
major-mode
'(("[ \t]+$" 0 font-lock-futility-face append))))
;; この部分 = 行末空白が同じ行にあると
;; 下の方が優先されてしまい、diff-changed-faceの設定が有効にならない

今はappendにしていますが、
t, nil, prepend, keepのどれでもダメなので困ってしまいました。
両方の着色が有効になる方法はありませんでしょうか。

0393名無しさん@お腹いっぱい。NGNG
show-trailing-whitespace
0394名無しさん@お腹いっぱい。NGNG
だれか >>358 の質問に答えだくださいませ。
0395名無しさん@お腹いっぱい。NGNG
>>394
--with-gtk のある場合とない場合のmakeに-dとか(ほかにもあるかも)をつけて、
どのファイルもしくは実行文が依存関係に影響を与えているかを見れば、
なぜだかはわかるはず。
0396名無しさん@お腹いっぱい。NGNG
>>394
> dump するたびに temacs のタイムスタンプが更新されているっぽい
が, まんま答えだと思うんだが...

dump って, elisp の バイトコード + ネーティブコードのコアメージを作る
作業で, elisp ファイルの依存関係は elisp 処理系内部からしか判断つかな
いので, 毎回 dump 取るしかないような気がするんだけど, 気のせい?
0397名無しさん@お腹いっぱい。NGNG
>>396
> が, まんま答えだと思うんだが...

temacs のタイムスタンプが更新されるのが納得いかんのです。

> dump って, elisp の バイトコード + ネーティブコードのコアメージを作る
> 作業で, elisp ファイルの依存関係は elisp 処理系内部からしか判断つかな
> いので, 毎回 dump 取るしかないような気がするんだけど, 気のせい?

temacs を dump した結果できるのが emacs ですよね? elisp が更新されたか
どうかは、src/Makefile の
emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
^^^^^^^
で判断しているんじゃないでしょうか?
gtk 付けないで作ったバイナリ temacs は dump 後もタイムスタンプがかわらないのはなんでだろ…。
0398名無しさん@お腹いっぱい。NGNG
>>395
emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
        ^^^^^^^^^^^^^^^
temacs のタイムスタンプがなぜか変るのが原因です。
どうしてタイムスタンプが変るの?教えてエロイ人!
0399名無しさん@お腹いっぱい。NGNG
そんなのもわからん香具師がなんで trunk 使ってんだろ
0400名無しさん@お腹いっぱい。NGNG
>>399
utf8 使いたいけど、un-define を load するのが思いから。
そんなのもって言うなら教えてくれよ。
0401392NGNG
>>393
ありがとうございます。
show-trailing-whitespace を忘れていました。
t にすれば行末空白は思いどおりにできました。

ところが、
>>392の設定を
(defface font-lock-tabcode-face '((t (:background "gray15"))) nil)
(defvar font-lock-tabcode-face 'font-lock-tabcode-face)
(defadvice font-lock-mode
(before font-lock-mode-visiblize activate)
(font-lock-add-keywords
major-mode
'(("\t" 0 font-lock-tabcode-face append))))
のように、TAB を着色するようにすると

! hoge

このようなとき (hoge の前に TAB あり) には、
TAB は着色されますが、行全体に色がつきません。

望んでいるのは、行全体が DeepSkyBlue1 で
しかも TAB は Gray15 で着色する、といったものです。
■ このスレッドは過去ログ倉庫に格納されています