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

    私的良スレ書庫

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

    元スレEmacs Part 39

    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
    801 : 名無しさん@お腹 - 2012/01/20(金) 00:55:32.98 (+57,+29,-1)
    どうでもよすぎるつっこみおつかれさん。
    802 : 名無しさん@お腹 - 2012/01/20(金) 02:47:45.08 (+56,+28,-4)
    引数はむしろlistの方がいいな。
    eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。
    803 : 名無しさん@お腹 - 2012/01/20(金) 08:31:17.14 (+44,-30,-107)
    >>798
    reverse を nreverse にする
    そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる

    loop 大好き
    (save-excursion
        (goto-char beg)
        (loop while (re-search-forward regexp end t)
              collect (match-string index)))
    804 : 名無しさん@お腹 - 2012/01/20(金) 08:40:02.69 (+4,-30,-63)
    >>803
    > そもそも (goto-char end) + (re-search-backward ...) を使うと、
    > reverse がいらなくなる

    これやると正規表現の量指定子はどういう挙動をするの?
    805 : 名無しさん@お腹 - 2012/01/20(金) 11:18:01.36 (+16,-6,+1)
    やっぱりloopは神だった
    806 : 名無しさん@お腹 - 2012/01/20(金) 12:17:24.19 (+29,-30,-282)
    http://blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/
    これのインデントの関数の再設定を見て疑問に思ったのですが例えば
    (add-hook 'text-mode-hook
    (lambda ()
    (setq indent-line-function (lambda () (insert "  ")))))
    このように書くのと、
    (add-hook 'text-mode-hook
    (lambda ()
    (set (make-local-variable 'indent-line-function) (lambda () (insert "  ")))))
    と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
    理解しているのですが、これでいいでしょうか

    それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
    (add-hook 'input-method-activate-hook
    (lambda() (set-cursor-color "yellow")))
    この設定をelispモードのバッファにのみ適用させたいです
    807 : 名無しさん@お腹 - 2012/01/20(金) 12:22:38.49 (+63,+29,+1)
    >>803 はたぶん意味を理解していない。
    808 : 名無しさん@お腹 - 2012/01/20(金) 12:28:15.44 (+42,-30,-113)
    >>806
    > と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
    text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。

    (add-hook 'emacs-lisp-mode-hook
             (lambda ()
             (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))
    809 : 名無しさん@お腹 - 2012/01/20(金) 13:20:47.87 (+0,-29,-7)
    >>808
    ありがとうございます。その例とadd-hookのdocを見て理解できました。
    810 : 名無しさん@お腹 - 2012/01/20(金) 17:42:04.36 (+0,-23,+1)
    loop きもすぎる
    811 : 名無しさん@お腹 - 2012/01/20(金) 18:14:36.03 (-1,-29,-3)
    reddit にでてたけど、Emacs にも Achievement System あったら楽しそうだな。
    http://www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/
    812 : 名無しさん@お腹 - 2012/01/21(土) 00:58:51.83 (+63,+29,-57)
    横レスだが>>808でインデントが整って見えるのは何故だろう
    2chでは連続した空白スペースが省略されると思うんだが
    813 : 名無しさん@お腹 - 2012/01/21(土) 01:17:52.31 (+35,-25,+3)
      ==   !=
    814 : 806 - 2012/01/21(土) 01:39:34.48 (+23,-30,-36)
    set-face-foregroundの色やset-face-bold-pの有効・無効を
    特定のモードのについてのみ変更できますか?
    815 : 名無しさん@お腹 - 2012/01/21(土) 01:56:08.64 (+61,+28,-16)
    >>813
    なるほどnbspですか
    2ちゃんブラウザからスレを開いてコピペすると確かにそれがありました
    816 : 名無しさん@お腹 - 2012/01/21(土) 02:11:56.20 (+79,+18,+2)
    >>814
    出来ない。
    817 : 806 - 2012/01/21(土) 02:14:14.19 (+68,+29,-4)
    >>816
    ありがとうございます。
    いろいろやってみましたが設定できなかったのでどこか間違っているのか
    迷っていました
    818 : 名無しさん@お腹 - 2012/01/21(土) 14:41:33.95 (+39,-29,-77)
    Emacsで、パターンに一致した行を見えなくすることはできますか。
    (削除じゃなくて)
    たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、
    「<!ーー ーー>」の行を隠したいとか。
    自分で指定したパターンで隠してくれるのを望みます。
    あと、行数もつけてくれたら最高。

    10: foo
    14: bar   ← 11行目から13行目までが隠されていることがわかる
    15: baz
    819 : 名無しさん@お腹 - 2012/01/21(土) 15:02:20.11 (+34,-30,-51)
    hideshow は?
    隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。
    describe-function hs-minor-mode ね。
    あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。


    820 : 名無しさん@お腹 - 2012/01/21(土) 15:03:38.80 (+3,-29,-44)
    ただ、隠したり表示したりのキーバインドが結構押しづらいから
    自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。

    自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして
    それだけ使ってる。
    821 : 名無しさん@お腹 - 2012/01/21(土) 15:28:21.01 (+58,+25,-9)
    >>819-828
    ありがとうございます。ためしてみます。
    822 : 名無しさん@お腹 - 2012/01/21(土) 23:21:55.04 (+3,-30,-115)
    emacs lisp テクニックバイブルの36ページに入力補完として
    completion-at-point(M-tab)が紹介されていますが
    anythingを導入したらその機能が置き換えられてしまいました
    調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです

    具体的には入力補完の例として本で説明されている
    bu-f-naでbuffer-file-nameを補完したいです
    そこでM-tabだけはcompletion-at-pointの機能を復活させて
    それ以外はanything-completeを利用したいのですが
    どうすればよいでしょうか
    823 : 名無しさん@お腹 - 2012/01/21(土) 23:23:15.56 (+52,+29,+0)
    著者に聞きなさい。
    824 : 名無しさん@お腹 - 2012/01/22(日) 10:34:28.62 (+3,-30,-66)
    anything を使ってないから詳しくはわからんけど、
    anything-complete の中で define-key してるキーマップ名を探して
    (define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。
    825 : 名無しさん@お腹 - 2012/01/23(月) 21:19:01.13 (-1,-29,-33)
    elcってバージョン間の互換性薄かったりするけど、
    複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?
    826 : 名無しさん@お腹 - 2012/01/23(月) 21:44:20.39 (+57,+29,-52)
    そもそもバイトコンパイルほとんどしてない。
    というか互換性薄かったっけ?
    暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ
    たことない。
    827 : 名無しさん@お腹 - 2012/01/23(月) 21:48:01.40 (+3,-30,-73)
    バージョン間の違いを吸収するときは
    バージョンごとに違うディレクトリを掘って、

    ~/.emacs.d/22
    ~/.emacs.d/23

    それぞれに el ファイルとか elc 放り込んでる。



    (setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path))

    みたいなことをしてる。
    828 : 名無しさん@お腹 - 2012/01/23(月) 21:59:21.84 (+9,-29,-62)
    軽くぐぐってみると emacs19とemacs20で非互換だったとか
    Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。
    今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。
    829 : 名無しさん@お腹 - 2012/01/23(月) 22:24:54.69 (+38,-29,-50)
    >>828

    経験したパターンでは、emacs 本体で供給している macro の展開で NG
    とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が
    良い。読み込んだぐらいではエラーにならないけど、使っているうちに
    理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m
    はこれに該当する。
    830 : 名無しさん@お腹 - 2012/01/23(月) 22:34:06.05 (+3,-30,-87)
    byte-compile-dest-file-function に version specific なディレクトリに elc 突っ込むような関数定義して
    load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。

    el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・
    831 : 名無しさん@お腹 - 2012/01/23(月) 22:36:40.32 (+63,+29,-37)
    >>829
    あー、なるほど。elcのフォーマットの問題ではなく、コンパイル時に展開されちゃう
    マクロの内容に差があった場合に問題になるってことか。
    832 : 名無しさん@お腹 - 2012/01/24(火) 13:06:00.78 (+36,-30,-82)
    http://twitter.com/kazu_yamamoto/status/161620210237964288

    > ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。

    さて、自称上級者はどういう反応をするか。
    833 : 名無しさん@お腹 - 2012/01/24(火) 13:11:14.50 (+57,+29,-22)
    そういや昔、山本さんが誰か知らずにfletとは云々ってブログにコメントしてた人がいたな。
    834 : 名無しさん@お腹 - 2012/01/24(火) 13:18:18.25 (+41,+23,+0)
    だから何?
    835 : 名無しさん@お腹 - 2012/01/24(火) 13:20:55.37 (+62,+29,-23)
    >>832
    自称上級者って有料メルマガの人とかか。
    あの人はあくまで設定の事だけでLispの何たるかはわかってなさそう。
    836 : 名無しさん@お腹 - 2012/01/24(火) 13:23:31.92 (+57,+29,-4)
    かずさんってEmacsアンチになってるもんだと勝手に勘違いしてたわ
    837 : 名無しさん@お腹 - 2012/01/24(火) 13:25:49.15 (+57,+29,-15)
    アンチには違いないと思うけど。
    真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。
    838 : 名無しさん@お腹 - 2012/01/24(火) 13:26:55.34 (+57,+29,-30)
    そうするとツイッターアイコンが赤いEmacsアイコンなのはそういう意味なのか。
    839 : 名無しさん@お腹 - 2012/01/24(火) 13:27:26.28 (-1,-29,+0)
    Haskellerになって久しいもんな。
    840 : 名無しさん@お腹 - 2012/01/24(火) 13:27:49.92 (+22,-5,+0)
    あれはfiremacsのやつ。と思う。
    841 : 名無しさん@お腹 - 2012/01/24(火) 13:28:58.55 (+3,-29,-45)
    あんな必死になって著書にまで (require 'cl) の有用性を書いてた人にとっ
    ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`)

    いい加減ああいううさん臭いのに騙されるのやめてほしいわ。
    842 : 名無しさん@お腹 - 2012/01/24(火) 13:41:10.32 (+52,+29,-4)
    そもそもあの本売れたの?
    843 : 名無しさん@お腹 - 2012/01/24(火) 13:42:20.69 (+57,+29,-25)
    新人にEmacsの有用性を説く奴は信用ならん
    るびきちはもはや老害だろう
    844 : 名無しさん@お腹 - 2012/01/24(火) 13:43:38.30 (+57,+29,-33)
    卒論間際の大学生とか暇な院生の方がelispの生産性高いイメージがある。
    845 : 名無しさん@お腹 - 2012/01/24(火) 13:45:13.51 (+57,+29,-19)
    ていうかあいつすでにelispまったく書いてないじゃん。家で何やってんだろ。
    実はもうアンチに変わってるんじゃないか。
    846 : 名無しさん@お腹 - 2012/01/24(火) 15:12:10.87 (+57,+29,-16)
    メルマガ書くのでいっぱいいっぱいになってるんとちがうの。
    どんぐらいの密度の内容の文章書いてるのかはわからんけど。
    847 : 名無しさん@お腹 - 2012/01/24(火) 16:07:20.83 (-1,-29,-30)
    common lispのreplのように
    scratchバッファでもs式のインデントを自動的に行いたいのですが
    (elispモードのように)
    どうすればよいのでしょう
    848 : 名無しさん@お腹 - 2012/01/24(火) 16:15:12.98 (+28,-30,-48)
    (define-key lisp-interaction-mode-map (kbd "C-m") 'newline-and-indent)
    849 : 名無しさん@お腹 - 2012/01/24(火) 17:20:35.10 (+13,-30,-96)
    .emacsに書いている設定をinit-loaderで分割するときには
    eval-when-compileをところどころ使わなくてはならないようですが、
    eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや
    defmacroを自分で書いたときだと理解しています
    それでいいでしょうか
    850 : 名無しさん@お腹 - 2012/01/24(火) 18:13:50.57 (+85,+28,+1)
    それでいいです。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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