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

    元スレEmacs Part 41

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

    252 = :

    今更オブジェクト指向でドヤ顔するのがEmacsユーザなんですかぁ

    253 = :

    どこからネタなのか分からず混乱している。

    254 = :

    スレ違いがメソッド化されていない時点で

    256 = :

    まぁネタはこのくらいでやめとこう。

    257 = :

    (defmacro let1 (args &rest body)
    `(let (,args) ,@body))

    というマクロを書きました。これは
    (let ((str "hoge"))
    hoge
    hoge)

    (let1 (str "hoge")
    hoge
    hoge)
    と書けるようにするものです。

    うまく動くのですがインデントがletの場合と異なり
    (let1 (str "hoge")
    hoge
    hoge)
    となってしまいます。letの時の様なインデントがなされて欲しいのですが
    オートインデントに情報を加えるにはどうすれば良いのでしょうか?

    258 = :

    半角スペースの置き換えを忘れてしまっていました。二重投稿失礼します。

    (defmacro let1 (args &rest body)
      `(let (,args) ,@body))

    というマクロを書きました。これは
    (let ((str "hoge"))
      hoge
      hoge)

    (let1 (str "hoge")
      hoge
      hoge)
    と書けるようにするものです。

    うまく動くのですがインデントがletの場合と異なり
    (let1 (str "hoge")
            hoge
            hoge)
    となってしまいます。letの時の様なインデントがなされて欲しいのですが
    オートインデントに情報を加えるにはどうすれば良いのでしょうか?

    259 = :

    >>258
    http://d.hatena.ne.jp/zknx/20091205/1259982042

    260 = :

    >>259
    即レス感謝です!結果
    (defmacro let1 (args &rest body)
    (declare (indent 1))
    `(let (,args) ,@body))

    で希望の動作をするようになりました。
    indent 2や3にしてみると。あーこの挙動か、と楽しめました。
    こんなお手軽な方法があったのですね。
    ありがとうございました!

    261 = :

    かなりすごい!
    http://blog.supermomonga.com/articles/emacs/my-imaginary-emacs-future.html

    262 = :

    eieioといえば他にもlunaとかいろいろオブジェクト指向化パッケージがあったような気がするんだけど
    一向に普及しないね

    264 = :

    クロージャ入ったからeieioが書き直されるか
    別で本命clos系パッケージが来るのを密かに待ってる

    265 = :

    >>261
    書いてすらないものを宣伝しに来るとか
    ゴミクズとしての第一歩を踏みだしちゃったな

    266 = :

    もう人生消したほうがいいレベル

    267 = :

    >>265
    日本語でおk

    268 = :

    265+1 :名無しさん@お腹いっぱい。 [sage] :2012/10/01(月) 23:27:58.79
    >>261
    (実際にコードを)書いてすらないものを宣伝しに来るとか
    ゴミクズとしての第一歩を踏みだしちゃったな

    269 = :

    そういえばいまのemacsの開発版ってブラウザ組み込めるんだっけ
    markdownのレンダリング結果をemacsで綺麗に表示できたりすると夢がひろがりんぐ

    271 = :

    postgresがおまえのこと嫌いになったんだよ
    それ以外に考えられない

    272 = :

    いや待て落ち着け
    もしかしたらEmacsからも嫌われてるのでは?

    273 = :

    うーーーーん。違う環境ではできたんだよなぁ。。

    sql-postgres で パスワードも聞かれたし、、
    文字コードの問題かなぁ。。

    274 = :

    できたーーー。
    windows localじゃあだめだけど

    つなぎさきがlinux だったらできたーー 

    276 = :

    ここはお前のスレじゃねーんだよ死ね

    277 = :

    >>269
    xwidget のことなら開発版じゃなくて勝手に派生した版だったと思う
    本家に組み込まれるかはかなり怪しげ。

    JSとEmacsで実装されたHTTPDを組み合わせてブラウザにリロード無しでリアルタイムで
    編集結果を表示し続けるパッケージは最近幾つかみたよ。

    278 = :

       /⌒⌒\
       / /ヽ ヽ
      / /__\ ヽ  あー俺の環境と違うわー
     / / bb) | |   ん?これ文字コードの問題じゃね?
    <彡(リ  >  ソ ヽ  てか、ウィンドウズだよ
     ≦イ   ̄ /\_≧  ウィンドウズのせいだったよ
    `/ |  ー イ\     (ッターーン!!!)
    /  ヽ   | ヽ
    レ⌒\ \  / | |
    \//  ̄ ̄ヽ |T ̄ ̄ ̄|
    /////゙zノノU ||   |
     // ヾ☆/ || | ̄| |

    279 = :

    >>277
    emacsとnode.jsを使ってもできそうだが
    誰か頼む

    280 = :

    MS公式が配布してるTypeScriptモードのスクリプト、Emacsだけやったらサイズ大きい(のわりに機能そんなにあるように見えない?)のは
    ちょっと悲しいな。

    281 = :

    ^Mが改行文字だとして
    (replace-string "^M" "")
    このelispは正常に動作するのですが、wikiなどにこれを投稿して表示すると^Mの部分で改行されてしまいます
    可読性を考えて改行文字は文字として表示し、かつelispとして意図したとおりに動作させる手は無いかと思ったのですが
    それらしい物を見つけることはできませんでした
    何か策はあるでしょうか

    282 = :

    (replace-string "\r" "")とか(replace-string "\015" "")とか?

    283 = :

    >>282
    ばっちりです!ありがとうございます。

    284 = :

    今更これ聞くのも恥ずかしいんですが…。
    fooをbar置換しているときに、
    foo1 // ここから
    foo2
    foo3 // ここまで置換したい
    foo4 // ここにカーソル来て欲しくない

    説明の都合上、矩形で処理できそうなならびになってますが、
    実際は散らかっています。foo3の時yを押してfoo4に来ちゃう問題、みんなどうしてる?

    285 = :

    ^

    286 = :

    >>284
    narrow-to-regionしてから置換

    287 = :

    >>285
    うはっwこれはww 即レスありがとうございます。重宝します。

    >>286
    勉強になります。これも役に立ちそうです。↓メモ。
    C-x n n
    Narrow down to between point and mark (narrow-to-region).
    C-x n w
    Widen to make the entire buffer accessible again (widen).

    288 = :

    対話的に置換するなら、(transient-mark-mode 1)を評価して
    region範囲の表示を有効にしておくとnarrowingと同じ効果がある
    あと、foo3でピリオドもある

    289 = :

    普通にfoo3で.押す!

    290 = :

    >>288
    うおおお!!!

    > (transient-mark-mode 1)

    デフォでこれenabledにして使ってたんですが、
    それにそんな効果が隠されていたとは知らなかったです。

    > foo3でピリオド

    これだ!! これかつ、ミスったときに^押せば完璧ですね。
    皆さんのおかげで俺捗って仕方ありません。どうもありがとうございました。

    291 = :

    >>289
    ありがとうございます!!

    292 = :

    ピリオドなんてあったのか・・知らんかった・・
    なんか結構長いこと使ってるが、こういう知らないけど地味に便利なこと結構ありそうだなぁ

    293 = :

    >>289
    "Period to replace one match and exit."

    素晴らしい。。。

    294 = :

    別トピックだけどC-M-SPCのリージョン選択機能知った時は
    思わず笑みがこぼれた

    297 = :

    (with-temp-buffer)によって作った作業用バッファの内容を
    バッファ切り替えによって表示させるにはどうすればいいですか
    今はscratchバッファで
    (with-temp-buffer
    (progn
    ...)
    (write-region (point-min) (point-max) "c:/hoge.txt"))
    これを実行して作業内容をc:/hoge.txtに置きそれを開いています
    (princ (buffer-string))とするとscratchバッファにそれが追記されてしまいます
    よろしくお願いします

    298 = :

    with-temp-bufferは作業用バッファを削除してから戻るから、そのバッファに切り替えるとかは無理じゃないの?
    作業用バッファ作ってそこに何か出力してそれに切り替えるなら、
    with-temp-bufferから適当に借用してこんな感じかね?
    もっとちゃんとしたやり方がありそうだけど
    (let ((nbf (generate-new-buffer "*MYTEMP*")))
    (with-current-buffer nbf
    (unwind-protect
    (progn (insert-string "テスト"))
    (pop-to-buffer nbf))))

    299 = :

    >>298
    こういう手がありましたか。ありがとうございます。勉強になりました。


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

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


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