タグ

ブックマーク / lisperblog.blogspot.com (4)

  • [Emacs]Unicodeエスケープ文字を復元する

    \u0040\u006b\u006f\u0073\u0068\u005f\u0062\u006f\u0074 上記のようなUnicodeエスケープ文字を元の文字列に戻すためのEmacs Lispです。ついでなので逆のエスケープする関数も書いておきます。 xyzzyの方は単純にElispのコードを書き換えただけ。xyzzyはemacsより書き方に幅があるようだけど、あんまりトリッキーなコードだとelisp<=>xyzzy間のコードの移植が大変になりそう。 emacsでこんな感じの置換操作を行う場合は以下のように書くのが定石らしい。 (while (re-search-forward "検索したい文字列" nil t) (replace-match "置換後の文字列" nil 'リテラルかどうか)) xyzzyならストリームを扱う関数を作ってed::text-decode-regionから呼び

  • [Emacs]eldocをほんの少し便利にする

    LISPファイルの編集時に関数の引数を表示するマイナーモードとして、Emacsではeldoc-mode、CLではslime-autodoc-modeがあるんですが、両者の表示形式が微妙に異なることが気になったのでついカッとなってeldocの方を軽く改造しました。反省はしていない。 gist: 244937 - GitHub 参考画像を見れば分かると思いますが、ポイント位置の引数の強調方法がデフォル トでは太字ではなくハイライトになってます。 その他、関数・変数ともにdocstringの表示が可能です。 ソースコードはGistに置いておくのでinstall-elispからインストールすればCL(SLIME)使いは幸せになれるかもしれません。 (install-elisp-from-gist 244937 "eldoc.el") 動作環境 Emacs22以上で動作確認。 無駄にCLのマクロを使

    [Emacs]eldocをほんの少し便利にする
  • GitHubアカウントをとりました

  • [Emacs]そんなことよりeval-after-load使おうぜ

    もっと使われてもいいのにと思うEmacsの設定周りのメモ。 [関数] (eval-after-load FILE FORM) この関数は、指定されたライブラリFILEがロードされているときにのみ2番目の引数FORMを評価するというもの。 例えばmigemoをロードする時の自分の設定はこんな感じ。 ;; migemoを読み込む。存在しない場合はnilを返す (load "migemo" 'noerror) (eval-after-load "migemo" (quote (progn ;; この辺がmigemoをロードした後に評価される (defadvice isearch-mode (before migemo-off activate) "初期状態は常にnil" (setq migemo-isearch-enable-p nil)) (fset 'toggle-migemo #'mige

    tomoya
    tomoya 2009/11/11
    "一度eval-after-loadが評価されれば、後からライブラリが読み込まれてもフォーム内部を評価してくれる。" 設定ファイルを分ける人にとって有効的。
  • 1