のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,434,918人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレEmacs part 26

emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
601 : 名無しさん@お腹 - 2008/10/01(水) 19:40:57 (+24,-30,-30)
(buffer-modified-p), buffer-read-only
を見て,動的にモードラインの色を変更することって可能?
'mode-line-modified みたいな設定ってある?
602 : 名無しさん@お腹 - 2008/10/01(水) 20:10:18 (-1,-29,-20)
mode-line-format で :eval して色変えればいいんじゃないかな
603 : 名無しさん@お腹 - 2008/10/01(水) 22:22:20 (+3,-30,-184)
こんなの使っている。

(defun sdic-describe-word-at-point-or-region (&optional arg)
"Display the meaning of word at the point or in the region."
(interactive "P")
(require 'sdic)
(let ((func (when arg (sdic-select-search-function)))
(word (or (and mark-active
(buffer-substring-no-properties
(region-beginning) (region-end)))
(sdic-read-from-minibuffer nil "SDIC"))))
(sdic-describe-word word func)))
604 : 名無しさん@お腹 - 2008/10/01(水) 22:51:24 (+17,-30,-86)
>>601
(setq-default mode-line-format
(append
mode-line-format
'((:eval (set-face-background 'mode-line (if (buffer-modified-p) "red" "green"))))))
とか書いてみたけど、どんなものか。
605 : 601 - 2008/10/01(水) 23:23:46 (+10,-30,-63)
>>604
Thx m(_ _)m
そうか、(append mode-line-format '(hogehoge
で良かったんやね。
おいらはは mode-line-format をそのままコピーして、さっきやってた orz
もっと elisp を勉強せねばー。
606 : 名無しさん@お腹 - 2008/10/01(水) 23:32:26 (+32,-29,-56)
ところで、なんで Emacs Lisp は EL じゃなくて Elisp と略されるんだろう。
公式には Elisp という表現は避けられてるし
EL という名称は一般化してないし。Emacs Lisp と書くしかない時とかなんか微妙に困る。
607 : 名無しさん@お腹 - 2008/10/02(木) 00:14:23 (+5,-30,-67)
>>605
>>604だけど、
(append
'((:eval (set-face-background 'mode-line (if (buffer-modified-p) "red" "green"))))
mode-line-format))
のほうが良かったかも。適当に作ったものなので好きなように変えてください。
608 : 名無しさん@お腹 - 2008/10/02(木) 00:34:58 (+61,+29,-24)
:evalってどんなタイミングで評価されてるんだろうか。
毎秒数千回とか評価されるわけもないだろうけど、
毎秒一回って事もない気がする。
609 : 名無しさん@お腹 - 2008/10/02(木) 03:24:47 (+6,-29,-41)
>>608
interactive にバッファが編集された場合か (force-modeline-update) された場合じゃないの?
610 : 名無しさん@お腹 - 2008/10/02(木) 04:17:35 (+21,-29,-105)
mode-line-format とかに :eval な要素があったら、
それが何に反応するかを分析してるってこと?
あるいは、バッファの状態によらずに
たとえばprocessの状態を反映するようなものが
:eval に登録されていても、
その条件とは無関係に、とりあえずバッファが編集された
(interactiveな操作があった) 時に評価されるの?
611 : 名無しさん@お腹 - 2008/10/02(木) 04:26:43 (+29,+3,+0)
>>610
infoくらい嫁よ
612 : 名無しさん@お腹 - 2008/10/02(木) 08:00:01 (+51,+24,-4)
>>606
なんで困るの?
613 : 名無しさん@お腹 - 2008/10/02(木) 10:01:06 (+3,-30,-100)
>Allegedly optional lexical scoping is coming after Emacs 23 is
>released. (according to emacs-devel) Once it’s in place, adding
>coroutines will be feasible, which addresses the “single-threading
>sucks” argument that’s surprisingly absent on this page. Should also
>make closures possible.
でEmacs23のリリースはいつになるんだ?って話だよな
614 : 601,605 - 2008/10/02(木) 12:26:21 (+59,-30,-185)
ここまでいったけど…,一つ問題点があった.
初期フレームのみにしか反映されず,
新規フレームのバッファー変更に対応してくれない.
それどころか,初期フレームの mode-line の色を
そのまま新規フレームにも反映してしまう.
どうにかならないだろうか?

(setq-default mode-line-format
    (append
     '((:eval
        (let ((modifd (buffer-modified-p))
              (rdonly buffer-read-only))
          (set-face-background 'mode-line
               (cond
                ((and (not modifd) (not rdonly)) "grey75") ;; "--"
                ((and modifd (not rdonly)) "orange red")   ;; "**"
                ((and (not modifd) rdonly) "grey75")       ;; "%%"
                ((and modifd rdonly) "orange red")         ;; "##"
                )))))
     mode-line-format))

615 : 名無しさん@お腹 - 2008/10/02(木) 12:47:31 (+4,-29,-4)
> どうにかならないだろうか?
各バッファーでそれぞれ色が変わってくれないだろうか?
ということです.m(_ _)m
616 : 名無しさん@お腹 - 2008/10/02(木) 13:32:56 (+7,-30,-83)
>>615
mode-line の background-color をいじるんじゃなくて、mode-line-format が
返す文字列に background-color の property を付加するべきじゃ?
617 : 名無しさん@お腹 - 2008/10/03(金) 00:52:19 (+9,-29,-88)
起動時に自動的にviper-modeに移行する方法は無いでしょうか?
vimを使い慣れているのですがEmacsの素晴らしい多機能性や
高度なインデントはプログラミングには必要不可欠です。
そのためvimのキーバインドでEmacsの機能を活用できるViper-modeで起動できる
方法が有ればよろしくお願いします。
618 : 名無しさん@お腹 - 2008/10/03(金) 01:12:55 (+9,-30,-71)
viper-mode起動した時に自動的にやるかどうか質問が出るはずだけど?
viper-modeだけじゃvimの機能完全に網羅してないよ。
viの機能+emacsの機能は使える。

vimのvisual mode的な操作がしたいなら
transient-modeとか利用して自分で作る必要があるね。
619 : 名無しさん@お腹 - 2008/10/03(金) 01:37:38 (+19,-30,-172)
abbrev モードに入る時のフック 'pre-abbrev-expand-hook に 関数 hoge を加えるという設定を
ローカルバッファ固有にしたいのですが
make-local-variable には -hook とつくものは設定してはダメと書いてありました。

(add-hook 'text-mode-hook (lambda ()
; (make-local-variable 'pre-abbrev-expand-hook)
(add-hook 'pre-abbrev-expand-hook 'hoge)))

これだとすべてのバッファで hoge が動いてしまいます。
どのようにしたらよいでしょうか。
お知恵をお貸しください。
620 : 名無しさん@お腹 - 2008/10/03(金) 03:04:27 (+48,+1,-21)
フックの中でフラグ変数を見てhogeを実行するかどうか考えるようにして、
そのフラグをbuffer-localでも何にでもすりゃいいじゃん?
621 : 名無しさん@お腹 - 2008/10/03(金) 03:06:48 (+25,-30,-143)
>>619
(add-hook 'text-mode-hook
(lambda ()
;; Do not use `make-local-variable' to make a hook variable
;; buffer-local. Instead, use `add-hook' and specify t for the
;; LOCAL argument.
;; (make-local-variable 'pre-abbrev-expand-hook)
(add-hook 'pre-abbrev-expand-hook 'hoge nil t)))

かな?
622 : 名無しさん@お腹 - 2008/10/03(金) 05:12:19 (+4,-30,-88)
>>617
(info "(viper)Loading Viper") に書いてある。
下の2行を~/.emacsに書く。
--
(setq viper-mode t)
(require 'viper)
--

>>618
最初に聞かれるのは、
viper-inhibit-startup-messageとviper-expert-level
じゃないか?


vim っぽくしたいなら、

http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el
http://www.geocities.jp/emacsjjjj/viper/

ここいらへんを、参考に。
623 : 619 - 2008/10/03(金) 10:51:56 (+33,-5,-42)
>>620-621
お手数をおかけして申し訳ありません。

add-hook の引数の意味をきちんと理解できていませんでした。
>>621 の式で期待通りの動作をするようになりました。

どうもありがとうございました。
624 : irie - 2008/10/04(土) 12:18:57 (+51,-30,-122)
>>470
scim-bridge.el version 0.7.0 リリース

遅くなりましたが、カーソルの色を変えられるようにしました。

(setq scim-cursor-color "red")

これで、SCIMがオンの時にカーソル色が赤になります。オフ時の色も指定
したい場合はコンスセルで指定します。例えば

(setq scim-cursor-color '("red" . "blue"))

とすると、オンで赤、オフで青になります。

GUIセットアップユーティリティーでSCIMの設定を変更すると、実際の状態と
カーソル色が合わなくなりますが、気にせず使っていればそのうちに直ります。
625 : 614 - 2008/10/04(土) 23:51:03 (+0,-29,-24)
>>616
mode-line-format が返す文字列
ってどうやって受け取るの?
mode-line-format を評価してもこいつの中身が表示されるだけだけど…。
626 : irie - 2008/10/05(日) 01:43:10 (+5,-30,-206)
>>614
mode-line-format の中の :eval は表示している全てのバッファについて評価
されるから、選択しているウインドウとは関係なく最後に評価したバッファで
色が決まっちゃいますよ。

(add-hook 'post-command-hook
(lambda ()
(with-current-buffer (window-buffer (selected-window))
(let ((modifd (buffer-modified-p))
(rdonly buffer-read-only))
(set-face-background 'mode-line
(cond
((and (not modifd) (not rdonly)) "grey75") ;; "--"
((and modifd (not rdonly)) "orange red") ;; "**"
((and (not modifd) rdonly) "grey75") ;; "%%"
((and modifd rdonly) "orange red") ;; "##"
))))))

でいいと思うけど。
627 : irie - 2008/10/05(日) 01:52:57 (+13,-30,-146)
あっ with-current-buffer は要らないか。

(add-hook 'post-command-hook
(lambda ()
(let ((modifd (buffer-modified-p))
(rdonly buffer-read-only))
(set-face-background 'mode-line
(cond
((and (not modifd) (not rdonly)) "grey75") ;; "--"
((and modifd (not rdonly)) "orange red") ;; "**"
((and (not modifd) rdonly) "grey75") ;; "%%"
((and modifd rdonly) "orange red") ;; "##"
)))))

これでいけますね。
628 : 名無しさん@お腹 - 2008/10/05(日) 03:51:35 (-1,-29,-6)
NTemacs入れてみたんだが.emacsはどこにあるの?
629 : 名無しさん@お腹 - 2008/10/05(日) 04:15:00 (+16,-29,+0)
~/
630 : 名無しさん@お腹 - 2008/10/05(日) 10:15:17 (+3,-30,-119)
jdeeについての質問です。
Meadow3(r4242)で、コンパイルするとjavacの出力メッセージが化けて出てきます。

http://www.02.246.ne.jp/~torutk/jdee/jdee.html#doc1_id654

(setq bsh-vm-args "Duser.language=en")
を設定しても現象は変わりません。何か設定が足りないのでしょうか?
631 : 名無しさん@お腹 - 2008/10/05(日) 11:04:21 (+69,+29,-24)
>>624
久々のVer.upですね。さっそく使わせていただいております。
ありがとうございます。
カーソルの色の変更、きちんとできています。
632 : 名無しさん@お腹 - 2008/10/05(日) 11:06:29 (-2,-30,-23)
(setq bsh-vm-args "-Duser.language=en")
の間違いでは…?
633 : 名無しさん@お腹 - 2008/10/05(日) 11:17:06 (+24,-30,-13)
違った、こうかな?
(setq bsh-vm-args '("-Duser.language=en"))
634 : 名無しさん@お腹 - 2008/10/05(日) 12:01:01 (+53,+18,+0)
>>629
Cドライブのしたってこと?
635 : 614 - 2008/10/05(日) 12:29:11 (+7,-30,-38)
>>627
irie 氏、激しく感謝です m(_ _)m
そして、scim-bridge.el version 0.7.0 release、お疲れさまです。
こちらも大変便利に利用しております。
636 : 名無しさん@お腹 - 2008/10/05(日) 14:14:00 (+39,-30,-32)
>>634
マニュアルを読むといいよ。

(info "(emacs)Init File") ;*scratch*バッファで評価

http://www.bookshelf.jp/texi/emacs-man/21-3/jp/emacs_34.html#SEC497
637 : 名無しさん@お腹 - 2008/10/05(日) 14:25:51 (+45,-30,-36)
>>633
> 違った、こうかな?
> (setq bsh-vm-args '("-Duser.language=en"))

あ、そうでした。すみません。
しかし、check styleだと文字化けしてしまいます。回避方法ありますかねぇ。
638 : 633 - 2008/10/05(日) 15:09:21 (+10,-30,-58)
>>637
jdeeを使ったことがないのでよくわかんないけど、

(add-hook 'java-mode-hook (lambda() (setenv "LC_ALL" "en")))

とか?(ttp://sakito.jp/moin/moin.cgi/JDEE より)
639 : 633 - 2008/10/05(日) 15:22:14 (-1,-29,-28)
あっ Meadow で setenv しても無意味だっけ???
640 : 名無しさん@お腹 - 2008/10/05(日) 17:57:12 (-1,-29,-14)
setq で設定できるすべての変数の初期値と現在値のリストをバッファに吐き出したいのだが
どうすればできるの?
641 : 637 - 2008/10/05(日) 18:44:06 (+6,-30,-58)
>>638
> >>637
> jdeeを使ったことがないのでよくわかんないけど、
>
> (add-hook 'java-mode-hook (lambda() (setenv "LC_ALL" "en")))
>
> とか?(ttp://sakito.jp/moin/moin.cgi/JDEE より)

それもやったんですが、駄目でした。うーむ。
642 : 名無しさん@お腹 - 2008/10/05(日) 20:09:48 (-2,-30,-31)
初期値は知らないが一覧なら C-u M-x apropos-value [Enter][Enter]
643 : 名無しさん@お腹 - 2008/10/05(日) 20:18:22 (+9,-30,-102)
mcompleteを使っているとcolor-themeで設定したテーマによっては補完文字が
見づらくなってしまいます。
(copy-face 'highlight 'mcomplete-prefix-method-fixed-part-face)
(copy-face 'highlight 'mcomplete-prefix-method-alternative-part-face)
を評価するとちょうといい感じになるのですが、.emacs.elに書くだけでは駄目
みたいです。***-hooksとかに引っかける必要があるんでしょうか。
どなたかご教示いただけると助かります。
644 : 名無しさん@お腹 - 2008/10/05(日) 20:26:14 (+7,-30,-119)
trampを使って接続先のファイルをいじろうとしたとき
そのファイルがsvn管理下にあると、つまり.svnが同ディレクトリにあるとき
Couldn't parse output from `svn status -v'
といわれて開けません、もう一度開こうとすると開くことはできるのですが
保存しようとするとやっぱり
Couldn't parse output from `svn status -v'
といわれて保存できません
645 : 名無しさん@お腹 - 2008/10/05(日) 22:26:19 (+3,-29,-14)
>>644
そりゃtrampじゃなくてvcがエラー出してるんだろ。
まぁ、vcの挙動は確かに変だよね。
646 : 名無しさん@お腹 - 2008/10/05(日) 22:47:01 (+37,-30,-136)
>>643
「書くだけでも駄目」ってのは、
書いても書く前と変わらないのか、
あるいは結果がちょっと違うのか、どっちだろう。

(require 'mcomplete)
(set-face-foreground 'mcomplete-prefix-method-fixed-part-face "orange")
(set-face-foreground 'mcomplete-prefix-method-alternative-part-face "orange")
(turn-on-mcomplete-mode)

この順番でどう?
647 : 名無しさん@お腹 - 2008/10/05(日) 23:14:49 (+26,-10,-40)
>>646
ありがとうございます。
「書くだけでは駄目」というのは.emacs.elに書く前と結果が変わらない
という意味でした。>>646のコードでうまく表示が変わったのでとりあえずは
これを使ってみます。.emacs.elにcopy-faceを書いても順番関係なく無効
みたいです。
648 : 名無しさん@お腹 - 2008/10/06(月) 00:17:57 (+63,+29,-4)
>>636
どこに.emacsおけばいいかわかったわ
ありがとう
ソフト起動しただけでは.emacsできないのね
649 : 名無しさん@お腹 - 2008/10/06(月) 00:24:28 (-1,-29,-2)
どういたしまして。
Emacsのドロ臭い世界へwelcome to the your hello world!!
650 : 名無しさん@お腹 - 2008/10/06(月) 02:00:16 (+2,-29,-4)
>>645
vcの動作を止められないですか?
接続先の特定ディレクトリだけ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について