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

    私的良スレ書庫

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

    元スレEmacs Part 40

    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
    701 : 名無しさん@お腹 - 2012/07/21(土) 17:54:40.89 (+3,-30,-176)
    ネタがねえ

    *.elを保存する時に自動的にバイトコンパイルするやつ
    作りかけのとかコンパイルされてもしかたないので元々 *.elc がある場合だけコンパイルする。

    (add-hook 'emacs-lisp-mode-hook
    (lambda ()
    (add-hook 'after-save-hook
    (lambda ()
    "必要ならバイトコンパイルする. elc が無い場合はコンパイルしない."
    (require 'bytecomp nil t)
    (let* ((file (buffer-file-name))
    (dest (byte-compile-dest-file file)))
    (when (and (file-exists-p dest)
    (file-writable-p dest)
    (file-newer-than-file-p file dest))
    (byte-compile-file file))))
    nil t))) ; buffer local hook
    702 : 名無しさん@お腹 - 2012/07/21(土) 18:03:00.23 (+0,+0,+0)
    どっかで拾ったこれがお気に入りだ。

    iswitchbでバッファ名入力時に表示されてるバッファも一緒に切り替わるやつ
    ついでに選択中に C-f C-b で切り替えできるようにする

    (defadvice iswitchb-exhibit
    (after in:ad-iswitchb-exhibit-with-display-buffer activate compile)
    "選択しているバッファをウィンドウに表示する."
    (when (and (eq iswitchb-method iswitchb-default-method)
    iswitchb-matches)
    (select-window (get-buffer-window
    (find-if-not 'minibufferp (buffer-list))))
    (let ((iswitchb-method 'samewindow))
    (iswitchb-visit-buffer
    (get-buffer (car iswitchb-matches))))
    (select-window (minibuffer-window))))

    (add-hook 'iswitchb-define-mode-map-hook
    (lambda ()
    "`iswitchb' の追加キーバインド."
    (define-key iswitchb-mode-map (kbd "C-f") 'iswitchb-next-match)
    (define-key iswitchb-mode-map (kbd "C-b") 'iswitchb-prev-match)))
    703 : 名無しさん@お腹 - 2012/07/21(土) 19:12:07.99 (+96,+29,-102)
    ネタがない、か。それでは初心者がネタを投下。

    emacsの正規表現は使いにくすぎる。書くときはいいけど後から読めない。rxを使うほどではないけど、Gaucheの正規表現リテラルが羨しい。
    気になるのは二つ。
    どうしてこんなことになったのか、歴史的なこと。
    今、正規表現リテラルに関してまじめに考えている人はいるのか。
    704 : 名無しさん@お腹 - 2012/07/21(土) 19:52:54.44 (+57,+29,-33)
    正規表現リテラルってそんなに便利なのかな?
    Gaucheでは型の扱い方がエレガントだからよさげに思うんじゃないだろうか。
    705 : 名無しさん@お腹 - 2012/07/21(土) 20:25:10.73 (-1,-29,-23)
    便利っていうかEmacsの正規表現の\の数は異常だろう
    706 : 名無しさん@お腹 - 2012/07/21(土) 21:05:46.69 (+57,+29,-22)
    バックスラッシュを解釈しない文字列が書ければいいんだよな。
    今時の言語にはあって当たり前だが。。
    707 : 名無しさん@お腹 - 2012/07/21(土) 21:37:29.58 (+57,+29,-16)
    そんなものを正規表現で書くのが間違いなんじゃない?
    708 : 名無しさん@お腹 - 2012/07/21(土) 21:48:17.98 (+62,+29,-87)
    どう考えても、正規表現記号にエスケープを要求することと
    そのエスケープ用文字が文字列のエスケープと被ってることが間違いじゃね
    まあ環境が間違ってると言ってもそれを踏まえてうまくやるしかないんだけども
    709 : 名無しさん@お腹 - 2012/07/21(土) 22:27:27.49 (+62,+29,-50)
    あれは設計ミスとしか思えないよねえ。
    コードに落としこむ時とミニバッファとかに入力する時でまた変わるってのも輪をかけておかしい。
    何がメタ文字なのかってちゃんと把握すれば一応直交してはいるんだけどさ。
    710 : 名無しさん@お腹 - 2012/07/22(日) 02:18:47.65 (-1,-29,-29)
    ヒートガイJ「男はratpoisionとemacsで全てをこなすものである」
    711 : 名無しさん@お腹 - 2012/07/22(日) 05:35:50.46 (+104,+29,-75)
    >>703
    書くときもよくないw

    実は自分も知りたいと思ってたけど、初心者すぎるかなと思って聞けなかった・・・
    まだ解決してなかったのかー。

    Perlの正規表現で置換できるelispとか無いのかな?
    712 : 名無しさん@お腹 - 2012/07/22(日) 07:59:59.39 (-1,-29,-4)
    ratpoison使ってたけどGIMPであきらめた
    713 : 名無しさん@お腹 - 2012/07/22(日) 08:27:08.54 (+71,+24,-51)
    やっぱり皆不満なのね。「それくらい脳をhackできなきゃemacsianとして云々」とか言うのかと思った。

    >>711
    M-x re-builder
    改行含めて全ての文字にマッチする表現がぱっと書けないのもどうかと思うよ。
    いまだになぜかうまく動かないやつあるし。
    714 : 名無しさん@お腹 - 2012/07/22(日) 08:48:27.26 (-1,-29,-50)
    re-builderはなぁ・・
    今だったらミニバッファに正規表現入力中に勝手に re-builder が働くような感じだといいんだろうね。
    715 : 名無しさん@お腹 - 2012/07/22(日) 09:48:02.18 (+2,-29,-45)
    re-builderで作った正規表現をそのままoccurに入れて動かねーと
    頭を抱えたのはいい思い出
    716 : 名無しさん@お腹 - 2012/07/22(日) 10:21:33.06 (-1,-29,-5)
    >>715
    query-replace-regex がうまく動かなくて困ってるんだけどくわしく。
    717 : 名無しさん@お腹 - 2012/07/22(日) 15:28:47.25 (+57,+29,-15)
    正規表現で何かをパーズしてる人達がオールドタイプってことは分かる。
    718 : 名無しさん@お腹 - 2012/07/22(日) 16:21:10.79 (+57,+29,-26)
    ニュータイプはどうやってパーすするの?
    719 : 名無しさん@お腹 - 2012/07/22(日) 16:31:00.79 (+57,+29,-37)
    基本に立ち返って字句解析と構文解析するんじゃない?
    720 : 名無しさん@お腹 - 2012/07/22(日) 16:45:02.23 (+0,-27,-44)
    Javaなんかは1.4になって初めて正規表現をサポートした。
    むしろこれからの技術でしょ。>正規表現
    721 : 名無しさん@お腹 - 2012/07/22(日) 16:56:37.04 (+91,+29,-39)
    これからもなにも・・・・
    計算機科学黎明期のそれこそ字句解析構文解析とほぼ同時に生まれた概念だぞ
    722 : 名無しさん@お腹 - 2012/07/22(日) 18:38:52.11 (-1,-29,-41)
    そういえばelispに関数型parserの話なかったっけ。
    くそ長い正規表現撲滅されるかも。
    723 : 名無しさん@お腹 - 2012/07/22(日) 18:49:57.81 (+138,+29,-26)
    >>721
    それが後々まで使われ、新しい環境でも望まれている。
    まだまだこれから、と言いたいわけだが。
    つーかUNIX板で正規表現嫌いと聞くとは思わんかったよ。
    724 : 名無しさん@お腹 - 2012/07/22(日) 18:56:09.53 (+71,+29,-22)
    >>723
    > それが後々まで使われ、新しい環境でも望まれている。
    > まだまだこれから、と言いたいわけだが。

    正規表現使い過ぎる人ってCOBOLerと同じ臭いがするんだよね。
    725 : 名無しさん@お腹 - 2012/07/22(日) 19:05:15.74 (+57,+29,-1)
    しったか君はとりあえずマ板に帰ろうか
    726 : 名無しさん@お腹 - 2012/07/22(日) 19:38:39.33 (+76,+29,-14)
    >>723
    あんなメンテナンス性の悪いもの嫌って当然。
    727 : 名無しさん@お腹 - 2012/07/22(日) 19:42:15.08 (+57,+29,-56)
    まーまー。
    Emacsの正規表現でのエスケープだらけへの愚痴大会を
    正規表現そのものの悪口大会と勘違いした夏厨くんが
    勇んで参加してしまっただけ。
    よくある話だ。
    728 : 名無しさん@お腹 - 2012/07/22(日) 19:43:18.19 (+91,+29,-73)
    正規表現は利便性の高いものであることに疑問はないけど、
    emacsで正規表現書く時はすごくストレスが溜まることはあるな。
    バックスラッシュ4つ書くのが普通となるとやっぱり嫌だ。
    729 : 名無しさん@お腹 - 2012/07/22(日) 20:51:08.28 (+70,+29,-30)
    >>728
    暫く書かないでいるとどれに何個エスケープしなきゃいけないか忘れるよね
    730 : 名無しさん@お腹 - 2012/07/22(日) 20:55:04.60 (+57,+29,-64)
    バックスラッシュが大量に入っちゃうのは何らかのパーズ処理だと思うが。
    そういう処理に正規表現使わないのはそろそろ常識になってほしい。
    731 : 名無しさん@お腹 - 2012/07/22(日) 20:57:52.24 (+34,-29,-4)
    なにいってんだこいつ () 使うだけで \\(\\) なんだぞ?
    732 : 名無しさん@お腹 - 2012/07/22(日) 21:00:29.68 (+35,-29,-13)
    普通のバックスラッシュにマッチさせるだけで"\\\\"なんだよな。
    733 : 名無しさん@お腹 - 2012/07/22(日) 21:07:34.50 (+57,+29,-3)
    なんとかなんないもんなのかねぇ。
    rx とか使ってるの見たことないわ。
    734 : 名無しさん@お腹 - 2012/07/22(日) 21:07:39.36 (+102,+30,-126)
    >>731
    それだけでそこまで読みづらいのかな?いつごろからかハイライトされるよう
    になってあんまり不満がなくなっちゃった
    正規表現のバックスラッシュが一番数えづらいの正規表現の文字列リテラルにダ
    ブクオートとか入ってきたときのような気がする。次に >>732
    そういうのにマッチさせる正規表現は書かなければいいんじゃないかな。
    735 : 名無しさん@お腹 - 2012/07/22(日) 21:08:10.02 (+50,+24,-17)
    ついついrx使ってしまい糞elisp書くなゴルァって怒られてた
    736 : 名無しさん@お腹 - 2012/07/22(日) 21:12:00.49 (+104,+30,-37)
    >>734
    君がそう思うならそれはそれで幸せなことだ。
    別にみんながみんな使い辛いって思って欲しいわけじゃないし。
    少なくとも俺と俺の周りの何人かは使ってて不便に思ってるってだけの話。
    737 : 名無しさん@お腹 - 2012/07/22(日) 21:23:11.46 (+69,+29,-30)
    >>736
    くれぐれも巨大な正規表現は書かないように。馬鹿に見えるからね。
    738 : 名無しさん@お腹 - 2012/07/22(日) 21:26:23.78 (+7,-30,-46)
    Emacsはなんで正規表現リテラル導入しなかったんだろね。
    長いの書く時まじでしんどいわ。
    だいたい列挙するだけで \\(\\(\\(public\\|protected\\|private\\|const\\|...とか
    あほやろwwww
    739 : 名無しさん@お腹 - 2012/07/22(日) 21:28:33.82 (-1,-29,-4)
    >>738
    四の五の言わず、 regexp-opt 使いたまえ。
    740 : 名無しさん@お腹 - 2012/07/22(日) 21:29:11.76 (+40,+12,-52)
    どうせまたstallmanの趣味でリテラルの導入考えなかったんだろ。
    抜けたことでダイナミックリンクも解禁されたし正規表現リテラルもそのうち実装されるんじゃねえの。
    741 : 名無しさん@お腹 - 2012/07/22(日) 21:37:04.01 (-2,-30,-39)
    replace-regexp の置換語のところに S 式書けるの今はじめて知ったわ
    replace-regexp: \(\w+\) => \,(capitalize \1)
    742 : 名無しさん@お腹 - 2012/07/22(日) 21:47:00.18 (-1,-29,-21)
    rx使ってるライブラリって何かあるかなとおもって調べたら
    python-modeが使ってたわ
    標準配布なんだしもっと使えばいいのに
    743 : 743 - 2012/07/23(月) 02:38:20.83 (+67,+29,-2)
    書かなくていいなら幸せだ。書かなきゃいけないんだよ。
    744 : 名無しさん@お腹 - 2012/07/23(月) 08:35:29.27 (+57,+29,-25)
    なんでわざわざ名前欄にレス番入れてんだ・・・?
    こっから連レスする予定?
    745 : 名無しさん@お腹 - 2012/07/23(月) 09:05:09.00 (+57,+29,-3)
    すまん、なぜかわからん。自分で書いた覚えがない。
    746 : 名無しさん@お腹 - 2012/07/25(水) 02:30:08.61 (-1,-29,-12)
    \\の嵐に悩んでいる人は regexp-lock 使ってみたら?
    個人的にはグルーピングに関する悩みは大体は解決した。
    747 : 名無しさん@お腹 - 2012/07/25(水) 08:29:30.29 (+3,-24,-16)
    軽くぐぐっても出てこないんだけどどこにあるの?
    regexp-optの間違いじゃないよね?
    748 : 名無しさん@お腹 - 2012/07/25(水) 20:34:26.96 (+43,+18,-2)
    749 : 名無しさん@お腹 - 2012/07/25(水) 20:43:28.61 (+8,-30,-90)
    >>748
    これ面白いね。正規表現っぽい文字列コンテキストのとこに入ると
    \\(\ab\(\\(cd\\)\\)\\) がハイライト付きで \1(ab\2(\3(cd\3)\2)\1) みたいに表示される
    正規表現のグルーピングになってない()はハイライトされないから確かに一目瞭然だわ。
    750 : 名無しさん@お腹 - 2012/07/27(金) 12:49:38.46 (+99,+29,-43)
    質問です。
    Emacsを使うとマウスまで手を伸ばさなくてもほとんどの作業ができるようですが、
    本当にそうなのでしょうか?
    例えばカーソルを合わせたりクリックするような作業も全てキーボードで行う事は可能なのですか?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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