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

    元スレEmacs Part 43

    emacs覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    751 = :

    さすがにそれはわざわざデバッグモードで起動せんでも
    起動時にエラー出てるような気がするんだけど

    753 = :

    >> 731
    時間が十分短い場合→全選択、少し空けば→a挿入、みたいなイメージ。

    >> 732
    ごめんなさい、C-a C-g a はよく判りませんでした。

    >> 733 sequential-command だったかな。
    おおお、C-a、C-aでバッファ先頭に飛ぶ例があるね。
    これを使えば、C-a C-aで全選択もわけなさそう。

    >> 734 C-x h を、覚える
    知らんかった…。当座はこれでしのぎます。

    756 = :

    うん、知ってる。

    758 = :

    既出かもしれないけど eval-after-load のフォームの中までバイトコンパイルさせる方法考えた。

    (eval-after-load "hoge" `(funcall ,(lambda ()
    (message "ここはコンパイルされるよ!")
    ))

    もっとも eval-after-load 内にそんなごつい処理かかないだろうし、ロード時に一回しか走らないしで
    大した違いが出るとは思えないけど。

    759 = :

    バイトコンパイルってファイルが小さくなるだけじゃないの?
    速度変わらないんだったら大した意味ないんじゃない?

    760 = :

    バイトコンパイルしないとより遅くなるぞ。

    762 = :

    >>759
    たかがサイズのためにどんだけまわりくどい手間かけてんだよ…

    763 = :

    たかがサイズ
    されどサイズ

    764 = :

    ファジィな痛みー

    765 = :

    >>759
    elispのバイトコンパイラはlisp専業だったlucidが手を入れた最適化コンパイラ
    実行速度も向上する

    767 = :

    極力起動時の処理を軽くしようとして eval-after-load に関数定義とかまで押し込んでる場合は
    >>758 は有効だと思う。

    もっとも init.el に書く程度の内容だったらやっぱり誤差だろうな。

    768 = :

    org-modeのファイルを開くときに折り返しを有効にしている状態で開くにはどうすればよいですか?
    今はファイルを開いた後に(toggle-truncate-lines)を手動で1回評価しています

    769 = :

    org-mode-hook に toggle-truncate-lines を追加してやればいいんじゃないかな

    772 = :

    今のところ OS に認識させないと無理だと思う。

    774 = :

    browse-url を使ってるみたいだから、
    browse-url-browser-function を browse-url-firefox とか好きなのに変更すればいい。
    デフォルトで何が選べるかは browse-url の先頭のコメントのところに列挙されている。
    そこにない場合は自分で適当に追加すればいい。

    twittering-mode の url クリックの時だけ変更したいなら
    twittering-click に包囲 advice でも追加してそこでだけ browse-url-browser-function を変更すればいい。

    775 = :

    >>774
    できました!大変助かりました。感謝です。

    777 = :

    package で color-theme のSolarizedをインストールして
    設定ファイルにGithubに書かれているように書き込んだのですが
    Emacsを起動する際に
    Unable to find theme file for `solarized-dark'と出て、適用されない状態で起動されます。
    Pathを確認したところしっかりとPackageでインストールされたものが
    はいるディレクトリは通っていますし、
    M-x load-file RET ~/.emacs.d/init.el
    とするとエラーは出ずにしっかりとSolarizedのColorthemeが適用されます。
    原因は何なのでしょうか?

    779 = :

    >>750
    遅レスだけど、これは caml.el の作者のバグっぽいね。
    c-toggle-auto-state は、cc-cmds.elを読み込まないと定義されないけど
    きっと作者の環境の .emacs には、これをどこかで読み込ませる設定でも
    あって、これを require するのを忘れたんだろう…

    対処するならば、
    (eval-after-load 'caml
    '(require cc-cmds))
    という方法もある。

    というか、ocaml 使うなら MELPA から tuareg 入れておいたら、
    autoload設定も auto-mode-alist の追加も不要なはずなんだけどなぁ。
    **

    780 = :

    >>758
    この話題、ちょっと前の gnu.emacs.devel でもあったね。
    Emacs 24.4 では lexical-binding の機能を活かして、
    コンパイル時に変数チェックまでしてくれるから、
    eval-after-load の中もコンパイルすると、変数名のミスなどが見つかるので
    有効。もっとも、読み込まないライブラリがあると逆にこれは鬱陶しいので、
    ライブラリがない場合は、
    (with-no-warnings) で囲むようなマクロを作っておけばさらに便利。

    実は Emacs 24.4 には、すでに同じようなことをしてくれる
    with-eval-after-load マクロが定義されている。。。

    781 = :

    >>777
    勘で書くけど、
    多分、init.el で、
    (package-initialize)
    を先頭の方で書いていないんじゃないかな。
    これ書かないと、MELPA経由でインストールしたパッケージへの
    アクセスが init.el でできない。
    (package-initialize) は、init.el 読み込み完了後に
    (もしinit.el で実行していないなら)自動的に行われるので
    起動後は設定できるとか。

    783 = :

    これか
    (unless (fboundp 'with-eval-after-load)
    (defmacro with-eval-after-load (file &rest body)
    `(eval-after-load ,file
    `(funcall (function ,(lambda () ,@body))))))

    さっさか導入しちゃうのも悪くないな

    784 = :

    >>730
    これも遅レスだけど、最近、一部で話題の領域選択ツール:
    http://github.com/magnars/expand-region.el
    rの連打でどんどん選択領域を広げてくれる。

    786 = :

    >>777
    theme は、普通の load-path とは、違う変数をたどるんだけど、
    そこいらへんも、package system で、ちゃんと、面倒見てくれてるのかな?

    custom-theme-directory
    custom-theme-load-path

    調べてみると、良いかもしれない。

    787 = :

    locate-file (locate-library とか executable-find) の実行結果をキャッシュするのを作った。
    init.el なんかでパッケージの有無で分岐して設定変更なんかしてる場合にちょっとだけ起動が速くなる。

    http://pastebin.com/hCAGBh6H

    locate-file-cache.el で保存してなるべく早い位置で require する。
    二回目以降の起動ではキャッシュを読むようになるのでディスクアクセスが発生しなくなって
    ちょっとだけ速くなる。

    789 = :

    SSD だとあんまり気にならなくない?

    790 = :

    >>789
    普通のHDDでも誤差レベル。
    自分ところは 37 回ぐらい executable-find とか locate-library してるけど
    起動時間が 1.0 sec から 0.9 sec になった程度の差だった。
    自己満足ではある。

    791 = :

    1万回起動すれば1000秒(約16分)の差になる。
    メロスも16分遅れていたら約束を果たせなかったかもしれない。
    人生の行方を決めるには十分な時間さ。

    792 = :

    一日2回起動するとしても16分稼ぐのに13年もかかるのか・・・
    PCの性能があがると更に差は縮まるだろうしなかなか過酷な旅路になるな

    794 = :

    init.elc ファイル見てて思ったんだけど、advice 定義の中身ってコンパイルされてないのね。
    上の方で eval-after-load の中身をコンパイルしてたけどこっちは出来ないんだろうか。
    オプションに compile って付けてみたけど効果がよくわからない。

    795 = :

    >>794
    適当にadviceした関数の定義をsymbol-functionで見てみるとどうやらコンパイルされてるっぽいから
    特に何もしなくてもいいんじゃないのかね。defadviceしたタイミングでコンパイルされるんだろうきっと。

    796 = :

    そうすると init.el に advice 書きまくるとバイトコンパイルのせいでどんどん遅くなるんじゃないかって気がしてきた
    実際 flet とか advice の中に書いとくと起動時に Compile-Log のバッファが出来てて warning が記録されてる・・

    798 = :

    >>790
    37回という回数はどうやって計測するの?

    799 = :

    >>798
    occur で数えたよ。ダサい答えでごめんなさい。
    require した別のファイルの中でも呼んでたりするだろうから実際はもう少し多いかもね。
    それこそ advice でも書いて数カウントでもしたほうがいいのかもしれない。

    800 = :

    流れぶった切るけど。文字列の最初の空白のみからなる行を削除するのってemacsではどう書くのがいい?

    Gaucheだと
    (regexp-replace #/^( *\n)*/ str "")
    と書けるけど、emacsだと
    (string-match "^\( *\n\)*" " \n\n \n hoge\n \n")
    はnilになるので。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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