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

    元スレEmacs Part 39

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

    >>148
    (setq recenter-positions '(middle))

    質問前に \C-h k などを使って Help を見るようにすべき。

    154 = :

    elispを編集しているときに
    ()の)を入力したときには前括弧が太字になるのですが、
    入力したときだけじゃなくてカーソルを合わせたときにも
    太字にする方法はあるでしょうか?

    155 = :

    >>154
    show-paren-mode

    156 = :

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

    158 = :

    そりゃ素直にvim使えとは思う。
    色んなelispをvi系のモードに合わせるのってしんどくない?

    モーダルな入力でおもったけど
    (setq view-read-only t) にして view-mode をガンガン操作しやすくカスタマイズすれば
    C-x C-q (もしくはもっと気楽なキーバインド)をトリガにした素直なモーダル Emacs と言えるんじゃないかな。

    159 = :

    xyzzyからemacsに移行しようと思うのですが
    キルリングとクリップボードが同期してしまうのをできれば解除したいです

    キルリングはemacs内だけで簡潔するようにし(他のアプリのクリップボードと連携せず)、
    クリップボードは従来通り他のアプリと連携できるようにする
    こういった設定は可能でしょうか?

    160 = :

    (setq interprogram-cut-function nil)
    (setq interprogram-paste-function nil)

    でどう?(試してない)

    161 = :

    >>158
    おぉ!斬新な考え方だな。
    俺はちょっと編集して一息付く時に必ずセーブ→カーソル移動して確認
    のような事をしているから、同時にセーブもすればいいんだな。
    キーバインドはやっぱりESCだろうね。

    162 = :

    shell-commandを非同期実行で順番に使いたいとき、
    たとえば
    1.hoge.exeを起動して処理する
    2.1.の処理後にtest.exeを起動して処理
    3.2.の処理後にfoo.exeを起動して処理
    4.処理終了
    こういうことはemacsで設定できるでしょうか
    非同期実行が shell-command と & の組み合わせでできるということまではわかったのですが
    その先がよくわかりません

    163 = :

    >>162
    shell が何かによるけど
    (hoge.exe ; test.exe ; fo0.exe) &

    それぞれが成功した時だけ(戻り値0の場合だけ)次を実行したい場合は
    (hoge.exe && test.exe && foo.exe) &

    164 = :

    shell-command だけでやるんならそれぞれのコマンドを && で連結して実行する。

    hoge.exe の処理結果を emacs で一旦受けとってから test.exe に渡したいん
    なら、低レベル API の start-process を使って hoge.exe を呼び出して
    process-sentinel で test.exe 以降を順次実行する。

    166 = :

    >162
    それは同期実行ではだめなの?
    (shell-command "hoge.exe")
    (shell-command "test.exe")
    (shell-command "foo.exe")

    167 = :

    時間かかる処理なら止まっちゃうじゃん。

    169 = :

    全然わからんけど session-save-file かなぁ。
    おれが思うに eshell なんて使わない方がいいよ。変なのが伝染る。

    170 = :

    ~/.eshell/history じゃないの?
    つーかるびきちの悪影響だよな
    eshellなんか使うのは

    172 = :

    文字符号入り乱れた複数のファイルを標準出力つこて扱う時に
    文字化け対策用変換パイププログラムとかねーのかな

    174 = :

    >>169-170
    ありがとうございます
    そのあたりをあさっていたら ~/.eshell/lastdir のファイルがおかしいことに気づきました
    その箇所を削除したら無事終了するようになりました

    ところで、>>170の通りるびきちの本をもとにeshellを使いはじめてみたのですが
    emacsを使う人は通常他の外部シェルを使うのでしょうか

    175 = :

    このスレはるびきちにツンデレだから

    176 = :

    一般的かどうかは分からないけど、なんで今さら eshell なんだよって感じは
    する。るびきちに関しては感性が相当に偏っているので、彼のいうことにあん
    まり没頭しすぎるのは考えものだとは思う。

    177 = :

    >>176 そういわれればそうですね

    180 = :

    でも重いんだよねえ。
    結構 CPU 負荷がかかる。

    181 = :

    >>158
    最近evil-mode使い始めたところなんたけど
    確かに設定が面倒くさい。
    viewモードメインのアプローチも確かに良さそうだね。そっちも試してみる。

    183 = :

    GNU Emacs Lispリファレンスマニュアル: Emacs Lisp関数のアドバイス
    http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_17.html
    アドバイス機能を使って
    >isearch-modeの時はオンにして、RETしてsearch-foward等の時はオフにする
    そのとおりに設定するのがよいかと
    具体的にはisearch-modeの実行時にmigemoをonに切り替えるようbeforeで設定
    isearch-modeの実行終了時に migemoをoffに

    こうするとsearch-forward等には手をつけなくていいかと

    184 = :

    >>131
    お礼が遅くなってすみません
    それでうまくいきました

    185 = :

    elispの書き方について質問します

    (if test
    (list (aa) (bb) (cc) (dd) (ee))
    (list (aa) (ff) (ee)))

    (aa)や(dd)などはすべて文字列を返す関数で、
    このような処理をしようと思うのですが、
    list関数と aa, ee関数が重複しており編集しづらいです
    重複分を削る手はないでしょうか

    186 = :

    編集しづらいってコードの編集のことか?
    list の中身のソート順をプログラマが考えて決めるんだったらある程度冗長
    になるのは仕方ないと思うんだけど。
    どうしたいのかいまいちわからない。

    187 = :

    重複分とlistを削ってみた。元の方が全然見やすいな。

    `(,(aa)
    ,@(mapcar
    #'(lambda (f) (funcall f))
    (if test '(bb cc dd) '(ff)))
    ,(ee))

    188 = :

    >>185
    こんな感じ?

    (append
     (list (aa))
     (if test
        (list (bb) (cc) (dd))
      (list (ff)))
     (list (ee))


    (mapcar 'funcall
            `(aa
              ,@(if test
                  '(bb cc dd)
                  '(ff))
              ee))

    191 = :

    >>186
    そうです。コード編集です。
    もっと縮められないものかとおもっていました

    >>187-188
    ありがとうございます。
    appendとバッククオートでそう組み立てるのは思いつきませんでした
    例を示していただいて気づいたのですが、自分はリスト生成の内側でifを使いたかったんだなと

    192 = :

    ネタだが、Google Insights for Search を使った Emacs ユーザの特性考察がなかなかおもろい。
    http://d.hatena.ne.jp/shim0mura/20111220/1324575061

    193 = :

    関数の再定義についてお伺いしたいのですが
    (require 'hoge)で読み込んでいるファイル hoge.el に書いてある関数を
    init.elに新たに関数を書いて上書きしようとしてもうまくいきません

    hoge.elの該当部分の関数定義をコメントアウトすると
    init.elで再定義したとおりに動きます
    どうすればいいのでしょうか

    194 = :

    >>191
    書きやすいコードより見やすいコードを目指した方がいい。

    196 = :

    >>193
    (eval-after-load 'hoge '(defun ...))
    とか、多分邪道だけど
    (defadvice fuga (around ... )
    ad-do-it なし)

    にする。

    197 = :

    >>193
    再定義していると思っている関数のスペルが間違っている
    再定義後に再びload-file, load-libraryしている

    198 = :

    >>196
    なんとなく書き換わるの怖くてdefadvice派だなぁ。

    199 = :

    >>192
    おそらく一部には反感を買いそうだけど、
    楽しんで書いてるのが伝わってきて確かに面白い。

    200 = :

    >>192の派生記事でこんなのがあったんだけど
    http://d.hatena.ne.jp/takuya_1st/20111222/1324550041
    この中にでてくる、EmEditorの「折り返し行表示も論理的にインデントされる」機能って
    なかなか素敵だと思うんだけど Emacs 用でそういうのないかな。

    自前のソースだったら長くなりすぎないよう適度に分割するんだけど
    拾ってきたソース見てる時とかウィンドウ幅細くして眺めてる時とかこれできたらちょっとうれしい気がする。


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

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


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