私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs Part 43
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
さすがにそれはわざわざデバッグモードで起動せんでも
起動時にエラー出てるような気がするんだけど
起動時にエラー出てるような気がするんだけど
melpaにtuaregがあるから、packageを使ってインストールしたほうが楽なように思う。
けれどWindowsでpackage使うにはtarなどをインストールしないといけないかも。
けれどWindowsでpackage使うにはtarなどをインストールしないといけないかも。
>> 731
時間が十分短い場合→全選択、少し空けば→a挿入、みたいなイメージ。
>> 732
ごめんなさい、C-a C-g a はよく判りませんでした。
>> 733 sequential-command だったかな。
おおお、C-a、C-aでバッファ先頭に飛ぶ例があるね。
これを使えば、C-a C-aで全選択もわけなさそう。
>> 734 C-x h を、覚える
知らんかった…。当座はこれでしのぎます。
時間が十分短い場合→全選択、少し空けば→a挿入、みたいなイメージ。
>> 732
ごめんなさい、C-a C-g a はよく判りませんでした。
>> 733 sequential-command だったかな。
おおお、C-a、C-aでバッファ先頭に飛ぶ例があるね。
これを使えば、C-a C-aで全選択もわけなさそう。
>> 734 C-x h を、覚える
知らんかった…。当座はこれでしのぎます。
help-echo プロパティで表示出来るツールチップをマウスオーバーではなく
関数で強制的に表示って出来ないですかね。
関数で強制的に表示って出来ないですかね。
既出かもしれないけど eval-after-load のフォームの中までバイトコンパイルさせる方法考えた。
(eval-after-load "hoge" `(funcall ,(lambda ()
(message "ここはコンパイルされるよ!")
))
もっとも eval-after-load 内にそんなごつい処理かかないだろうし、ロード時に一回しか走らないしで
大した違いが出るとは思えないけど。
(eval-after-load "hoge" `(funcall ,(lambda ()
(message "ここはコンパイルされるよ!")
))
もっとも eval-after-load 内にそんなごつい処理かかないだろうし、ロード時に一回しか走らないしで
大した違いが出るとは思えないけど。
バイトコンパイルってファイルが小さくなるだけじゃないの?
速度変わらないんだったら大した意味ないんじゃない?
速度変わらないんだったら大した意味ないんじゃない?
>>759
たかがサイズのためにどんだけまわりくどい手間かけてんだよ…
たかがサイズのためにどんだけまわりくどい手間かけてんだよ…
極力起動時の処理を軽くしようとして eval-after-load に関数定義とかまで押し込んでる場合は
>>758 は有効だと思う。
もっとも init.el に書く程度の内容だったらやっぱり誤差だろうな。
>>758 は有効だと思う。
もっとも init.el に書く程度の内容だったらやっぱり誤差だろうな。
org-modeのファイルを開くときに折り返しを有効にしている状態で開くにはどうすればよいですか?
今はファイルを開いた後に(toggle-truncate-lines)を手動で1回評価しています
今はファイルを開いた後に(toggle-truncate-lines)を手動で1回評価しています
org-mode-hook に toggle-truncate-lines を追加してやればいいんじゃないかな
>>768
以前探して見つけたのは、org-startup-truncated を NIL にしておく方法。
以前探して見つけたのは、org-startup-truncated を NIL にしておく方法。
X11のフォント設定に依存しない、直接ttfファイル等を指定して
フォントを設定することはできますか?
フォントを設定することはできますか?
twittering-modeを使っているのですが
urlをクリックしたときに指定したブラウザでそのリンクを開くよう設定できますか
urlをクリックしたときに指定したブラウザでそのリンクを開くよう設定できますか
browse-url を使ってるみたいだから、
browse-url-browser-function を browse-url-firefox とか好きなのに変更すればいい。
デフォルトで何が選べるかは browse-url の先頭のコメントのところに列挙されている。
そこにない場合は自分で適当に追加すればいい。
twittering-mode の url クリックの時だけ変更したいなら
twittering-click に包囲 advice でも追加してそこでだけ browse-url-browser-function を変更すればいい。
browse-url-browser-function を browse-url-firefox とか好きなのに変更すればいい。
デフォルトで何が選べるかは browse-url の先頭のコメントのところに列挙されている。
そこにない場合は自分で適当に追加すればいい。
twittering-mode の url クリックの時だけ変更したいなら
twittering-click に包囲 advice でも追加してそこでだけ browse-url-browser-function を変更すればいい。
>>774
できました!大変助かりました。感謝です。
できました!大変助かりました。感謝です。
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が適用されます。
原因は何なのでしょうか?
設定ファイルにGithubに書かれているように書き込んだのですが
Emacsを起動する際に
Unable to find theme file for `solarized-dark'と出て、適用されない状態で起動されます。
Pathを確認したところしっかりとPackageでインストールされたものが
はいるディレクトリは通っていますし、
M-x load-file RET ~/.emacs.d/init.el
とするとエラーは出ずにしっかりとSolarizedのColorthemeが適用されます。
原因は何なのでしょうか?
>設定ファイルにGithubに書かれているように書き込んだのですが
これのURLがないとなんとも
これのURLがないとなんとも
>>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 の追加も不要なはずなんだけどなぁ。
**
遅レスだけど、これは 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 の追加も不要なはずなんだけどなぁ。
**
>>758
この話題、ちょっと前の gnu.emacs.devel でもあったね。
Emacs 24.4 では lexical-binding の機能を活かして、
コンパイル時に変数チェックまでしてくれるから、
eval-after-load の中もコンパイルすると、変数名のミスなどが見つかるので
有効。もっとも、読み込まないライブラリがあると逆にこれは鬱陶しいので、
ライブラリがない場合は、
(with-no-warnings) で囲むようなマクロを作っておけばさらに便利。
実は Emacs 24.4 には、すでに同じようなことをしてくれる
with-eval-after-load マクロが定義されている。。。
この話題、ちょっと前の gnu.emacs.devel でもあったね。
Emacs 24.4 では lexical-binding の機能を活かして、
コンパイル時に変数チェックまでしてくれるから、
eval-after-load の中もコンパイルすると、変数名のミスなどが見つかるので
有効。もっとも、読み込まないライブラリがあると逆にこれは鬱陶しいので、
ライブラリがない場合は、
(with-no-warnings) で囲むようなマクロを作っておけばさらに便利。
実は Emacs 24.4 には、すでに同じようなことをしてくれる
with-eval-after-load マクロが定義されている。。。
>>777
勘で書くけど、
多分、init.el で、
(package-initialize)
を先頭の方で書いていないんじゃないかな。
これ書かないと、MELPA経由でインストールしたパッケージへの
アクセスが init.el でできない。
(package-initialize) は、init.el 読み込み完了後に
(もしinit.el で実行していないなら)自動的に行われるので
起動後は設定できるとか。
勘で書くけど、
多分、init.el で、
(package-initialize)
を先頭の方で書いていないんじゃないかな。
これ書かないと、MELPA経由でインストールしたパッケージへの
アクセスが init.el でできない。
(package-initialize) は、init.el 読み込み完了後に
(もしinit.el で実行していないなら)自動的に行われるので
起動後は設定できるとか。
これか
(unless (fboundp 'with-eval-after-load)
(defmacro with-eval-after-load (file &rest body)
`(eval-after-load ,file
`(funcall (function ,(lambda () ,@body))))))
さっさか導入しちゃうのも悪くないな
(unless (fboundp 'with-eval-after-load)
(defmacro with-eval-after-load (file &rest body)
`(eval-after-load ,file
`(funcall (function ,(lambda () ,@body))))))
さっさか導入しちゃうのも悪くないな
投下
auto-insert で挿入するテンプレートを yasnippet に処理させる
& ~/.emacs.d/template にモード名でファイルを放り込んでおけば勝手に auto-insert の対象にする
(add-hook 'find-file-hook 'auto-insert)
;; テンプレートファイルのフォルダ. モード名のファイルを配置する (java-mode.java や emacs-lisp-mode.el など)
(setq auto-insert-directory (locate-user-emacs-file "template"))
(defvar auto-insert-template-modtime nil "テンプレートディレクトリの更新時間.")
(defun auto-insert-yas-expand ()
"`auto-insert' するテンプレートを `yasnippet' のスニペットと見做して展開する."
(yas-expand-snippet (buffer-string) (point-min) (point-max)))
(defadvice auto-insert (before auto-insert-update-template activate)
"`auto-insert' 前にテンプレート一覧を更新する."
(let ((modtime (file-attributes auto-insert-directory)))
(unless (equal modtime auto-insert-template-modtime)
(setq auto-insert-template-modtime modtime)
(setq auto-insert-alist nil)
(dolist (template (directory-files auto-insert-directory nil "^[^.]"))
(add-to-list 'auto-insert-alist
(cons (intern (file-name-sans-extension template))
(vector template 'auto-insert-yas-expand))))
))
auto-insert で挿入するテンプレートを yasnippet に処理させる
& ~/.emacs.d/template にモード名でファイルを放り込んでおけば勝手に auto-insert の対象にする
(add-hook 'find-file-hook 'auto-insert)
;; テンプレートファイルのフォルダ. モード名のファイルを配置する (java-mode.java や emacs-lisp-mode.el など)
(setq auto-insert-directory (locate-user-emacs-file "template"))
(defvar auto-insert-template-modtime nil "テンプレートディレクトリの更新時間.")
(defun auto-insert-yas-expand ()
"`auto-insert' するテンプレートを `yasnippet' のスニペットと見做して展開する."
(yas-expand-snippet (buffer-string) (point-min) (point-max)))
(defadvice auto-insert (before auto-insert-update-template activate)
"`auto-insert' 前にテンプレート一覧を更新する."
(let ((modtime (file-attributes auto-insert-directory)))
(unless (equal modtime auto-insert-template-modtime)
(setq auto-insert-template-modtime modtime)
(setq auto-insert-alist nil)
(dolist (template (directory-files auto-insert-directory nil "^[^.]"))
(add-to-list 'auto-insert-alist
(cons (intern (file-name-sans-extension template))
(vector template 'auto-insert-yas-expand))))
))
>>777
theme は、普通の load-path とは、違う変数をたどるんだけど、
そこいらへんも、package system で、ちゃんと、面倒見てくれてるのかな?
custom-theme-directory
custom-theme-load-path
調べてみると、良いかもしれない。
theme は、普通の load-path とは、違う変数をたどるんだけど、
そこいらへんも、package system で、ちゃんと、面倒見てくれてるのかな?
custom-theme-directory
custom-theme-load-path
調べてみると、良いかもしれない。
locate-file (locate-library とか executable-find) の実行結果をキャッシュするのを作った。
init.el なんかでパッケージの有無で分岐して設定変更なんかしてる場合にちょっとだけ起動が速くなる。
http://pastebin.com/hCAGBh6H
locate-file-cache.el で保存してなるべく早い位置で require する。
二回目以降の起動ではキャッシュを読むようになるのでディスクアクセスが発生しなくなって
ちょっとだけ速くなる。
init.el なんかでパッケージの有無で分岐して設定変更なんかしてる場合にちょっとだけ起動が速くなる。
http://pastebin.com/hCAGBh6H
locate-file-cache.el で保存してなるべく早い位置で require する。
二回目以降の起動ではキャッシュを読むようになるのでディスクアクセスが発生しなくなって
ちょっとだけ速くなる。
>>785
いいね。abbrev, dabbrev, skeleton, tempo, とか全部 yasnippet/auto-complete
に整理してるんで助かった。
(defadvice auto-insert (before auto-insert-update-template activate)
"`auto-insert' 前にテンプレート一覧を更新する."
(dolist (template (directory-files auto-insert-directory nil "-mode\\.[^~]+$"))
(let ((mode (intern (file-name-sans-extension template))))
(setq auto-insert-alist (assq-delete-all mode auto-insert-alist))
(add-to-list 'auto-insert-alist
(cons mode (vector template 'auto-insert-yas-expand))))))
snippet ですむのにわざわざ elisp で実装してドヤ顔している人ってなんなの?
と思わないことはない。
いいね。abbrev, dabbrev, skeleton, tempo, とか全部 yasnippet/auto-complete
に整理してるんで助かった。
(defadvice auto-insert (before auto-insert-update-template activate)
"`auto-insert' 前にテンプレート一覧を更新する."
(dolist (template (directory-files auto-insert-directory nil "-mode\\.[^~]+$"))
(let ((mode (intern (file-name-sans-extension template))))
(setq auto-insert-alist (assq-delete-all mode auto-insert-alist))
(add-to-list 'auto-insert-alist
(cons mode (vector template 'auto-insert-yas-expand))))))
snippet ですむのにわざわざ elisp で実装してドヤ顔している人ってなんなの?
と思わないことはない。
>>789
普通のHDDでも誤差レベル。
自分ところは 37 回ぐらい executable-find とか locate-library してるけど
起動時間が 1.0 sec から 0.9 sec になった程度の差だった。
自己満足ではある。
普通のHDDでも誤差レベル。
自分ところは 37 回ぐらい executable-find とか locate-library してるけど
起動時間が 1.0 sec から 0.9 sec になった程度の差だった。
自己満足ではある。
1万回起動すれば1000秒(約16分)の差になる。
メロスも16分遅れていたら約束を果たせなかったかもしれない。
人生の行方を決めるには十分な時間さ。
メロスも16分遅れていたら約束を果たせなかったかもしれない。
人生の行方を決めるには十分な時間さ。
一日2回起動するとしても16分稼ぐのに13年もかかるのか・・・
PCの性能があがると更に差は縮まるだろうしなかなか過酷な旅路になるな
PCの性能があがると更に差は縮まるだろうしなかなか過酷な旅路になるな
init.elc ファイル見てて思ったんだけど、advice 定義の中身ってコンパイルされてないのね。
上の方で eval-after-load の中身をコンパイルしてたけどこっちは出来ないんだろうか。
オプションに compile って付けてみたけど効果がよくわからない。
上の方で eval-after-load の中身をコンパイルしてたけどこっちは出来ないんだろうか。
オプションに compile って付けてみたけど効果がよくわからない。
>>794
適当にadviceした関数の定義をsymbol-functionで見てみるとどうやらコンパイルされてるっぽいから
特に何もしなくてもいいんじゃないのかね。defadviceしたタイミングでコンパイルされるんだろうきっと。
適当にadviceした関数の定義をsymbol-functionで見てみるとどうやらコンパイルされてるっぽいから
特に何もしなくてもいいんじゃないのかね。defadviceしたタイミングでコンパイルされるんだろうきっと。
そうすると init.el に advice 書きまくるとバイトコンパイルのせいでどんどん遅くなるんじゃないかって気がしてきた
実際 flet とか advice の中に書いとくと起動時に Compile-Log のバッファが出来てて warning が記録されてる・・
実際 flet とか advice の中に書いとくと起動時に Compile-Log のバッファが出来てて warning が記録されてる・・
adviceは(あんまり)使うべきではない
http://www.emacswiki.org/emacs/AdviceVsHooks
http://www.emacswiki.org/emacs/AdviceVsHooks
>>790
37回という回数はどうやって計測するの?
37回という回数はどうやって計測するの?
>>798
occur で数えたよ。ダサい答えでごめんなさい。
require した別のファイルの中でも呼んでたりするだろうから実際はもう少し多いかもね。
それこそ advice でも書いて数カウントでもしたほうがいいのかもしれない。
occur で数えたよ。ダサい答えでごめんなさい。
require した別のファイルの中でも呼んでたりするだろうから実際はもう少し多いかもね。
それこそ advice でも書いて数カウントでもしたほうがいいのかもしれない。
流れぶった切るけど。文字列の最初の空白のみからなる行を削除するのってemacsではどう書くのがいい?
Gaucheだと
(regexp-replace #/^( *\n)*/ str "")
と書けるけど、emacsだと
(string-match "^\( *\n\)*" " \n\n \n hoge\n \n")
はnilになるので。
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 スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Emacs Part 40 (1001) - [92%] - 2012/9/7 0:30
- Emacs Part 47 (995) - [92%] - 2015/4/19 13:01
- Emacs Part 42 (1001) - [92%] - 2013/6/9 5:15 △
- Emacs Part 44 (1001) - [92%] - 2014/2/8 8:01 △
- Emacs Part 53 (989) - [92%] - 2022/12/5 12:45
- Emacs Part 46 (984) - [92%] - 2014/12/24 14:15
- Emacs Part 45 (1001) - [92%] - 2014/6/23 9:45
- Emacs Part 48 (997) - [92%] - 2015/12/9 15:15
- Emacs Part 49 (974) - [92%] - 2016/12/7 9:45
- Emacs Part 33 (1001) - [92%] - 2010/3/9 20:01 ○
- Emacs Part 41 (1001) - [92%] - 2012/12/24 4:15
- Emacs Part 32 (1001) - [84%] - 2009/12/20 2:04 ○
- Emacs Part 31 (1001) - [84%] - 2009/10/23 10:31 ○
- Emacs part 23 (1001) - [84%] - 2008/2/8 0:04 ☆
トップメニューへ / →のくす牧場書庫について