タグ

ブックマーク / rubikitch.hatenadiary.org (9)

  • 【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました

    お久しぶりです。 この度、新著の 『Emacs Lispテクニックバイブル 〜真髄を知るLispの掟〜』 を執筆しました。 このは、すでにEmacsを使っている人が、 Emacsを手足の如く扱うことを目的にしています。 前著『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』は あらゆるEmacs Lispプログラムを活用して、快適な環境を構築するための カタログ的なでした。 紹介された様々なEmacs Lispプログラムによって、 あなたのEmacsは劇的な進化を遂げたことでしょう。 それでも、人間の欲というものは限りないものです。 「このEmacs Lispプログラムのココが気にわない」 「このようなEmacs Lispプログラム欲しいけどないなー」 「世界でただ一つ、俺だけのEmacsを作りたいぜ」 みたいな欲が出てくるんですね。 もし、その感情が湧いたことが

    【特典付】『Emacs Lispテクニックバイブル』発売します - http://rubikitch.com/に移転しました
  • Rubyスクリプトの#!行でバージョンをつけるべきたったひとつの理由 - http://rubikitch.com/に移転しました

    俺は使っているRubyの処理系はほぼすべて保持している。というのは、Rubyのバージョンが上がるととたんに動かなくなるスクリプトが出てくるからである。 実際、 /usr/local/bin 以下にあるRuby処理系は30個くらいある。1.4.5や1.6.6といった化石バージョンすら入っている。 $ (cd /usr/local/bin; ls ruby1*) ruby145 ruby18-trunk ruby186p110 ruby187 ruby187p71 ruby191p0 ruby16 ruby180 ruby186p114 ruby187p160 ruby187p72 ruby191p129 ruby165 ruby181 ruby186p286 ruby187p17 ruby19 ruby191p243 ruby166 ruby186 ruby186p368 ruby187p1

    Rubyスクリプトの#!行でバージョンをつけるべきたったひとつの理由 - http://rubikitch.com/に移転しました
    gemini7
    gemini7 2010/10/28
  • anything.elプログラマ向け最新情報 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elフレームワークは徐々に進化しています。 ユーザーとして使いやすくする一方、より簡単にプログラミングできるように改良しています。 なるべく非互換性を導入しないように特に気をつけています。 初期に作られた情報源も動くはずです。 動かない場合はanything.elのバグの可能性があります。 anything関数とキーワード引数anything関数がキーワード引数を受け付けるようになりました。 これにより、可読性が上がります。 おそらく一番目立つ最新機能でしょう。 もちろん、通常の引数も使えるので、お好きな方をどうぞ。 基キーワードanything関数の通常の引数に対応するキーワードは以下の通りです。 :sources情報源 :input最初の入力パターン :promptプロンプト :resumetのとき、直前のanythingセッションを復

    anything.elプログラマ向け最新情報 - http://rubikitch.com/に移転しました
  • auto-async-byte-compile.elリリース - バイトコンパイル問題の終焉 - http://rubikitch.com/に移転しました

    自動バイトコンパイルを行う auto-async-byte-compile.el をリリースしました。以前のバージョンではRubyが必要でしたが、auto-async-byte-compile.elはEmacs Lispで完結しています。 リンク先のbyte-compileスクリプトも持っておくとコマンドラインからload-pathを気にせずにバイトコンパイルできます。 その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - http://rubikitch.com/に移転しましたより。 Emacs Lispをバイトコンパイルすると動作が高速化するのは常識である。しかし、バイトコンパイルには致命的な欠点があって、Lispファイルの方がバイトコンパイルファイルよりも新しい場合は、古いバイトコンパイルファイルが読み込まれてしまうのだ!!そのため、Lispファイルを更新した

    auto-async-byte-compile.elリリース - バイトコンパイル問題の終焉 - http://rubikitch.com/に移転しました
  • そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました

    Emacsはひとつの窓(ふつうの意味の「ウィンドウ」、Emacs用語の「フレーム」)の中に複数の表示領域(Emacs用語の「ウィンドウ」)を持つことができる。そして、ヘルプ等を表示させる場合はEmacsが勝手に画面を分割して別のウィンドウに表示させる。まぁ、Emacsを使ってるならみんな経験してることだ。 ワイドディスプレイが台頭する中、フレームの横幅はどんどん長くなっている。Emacs22までだと強制的に上下分割されてとても使いづらかった。Emacs23になったら横幅にあわせて、上下分割か左右分割か判断してくれるようになった。横幅が広いと左右分割してくれる。表示行数が減らないのでこれは嬉しい。画面の有効活用だ。 Emacs22で左右分割させたいならば、M-x install-elisp-from-emacswiki display-buffer-for-wide-screen.elしてく

    そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました
  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
  • auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - http://rubikitch.com/に移転しました

    Emacs Advent Calendar jp: 2009参加中!次はkiwanamiさん。 auto-install.el は拙作 install-elisp.el の後継バージョンである。サイトからEmacsLispファイルをダウンロードし、所定の位置に配置し、バイトコンパイルする。最大の違いはダウンロードが非同期になったことだ。 install-elisp ではダウンロード時に待たされるが、 auto-install ではダウンロード中も作業をすることができる。 ダウンロードはEmacsWikiから。install-elispが使えるならば、M-x install-elisp-from-emacswiki auto-install.el を実行する。 http://www.emacswiki.org/emacs/download/auto-install.el そして、以下の設定を

    auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - http://rubikitch.com/に移転しました
  • 「履歴を絞りこみながら正規表現で検索する。」を使ってみた - http://rubikitch.com/に移転しました

    deruiの日記 id:deruiによるzshの履歴をインクリメンタルに正規表現検索するzshスクリプト。インクリメンタル検索だの絞り込み検索だのと聞いてすぐに飛び付くのがanything脳のサガというもの。 ナイスアイデア!!キーをおすたびに勝手に絞り込まれていくのがanything.elっぽい。 しかし、キーを押すたびに反応してしまうため重すぎるのが唯一の問題である。重さを解消する方法としては以下が考えられる。 キーを押して0.3秒間応答がなければ検索処理を開始する(anything方式) 前回の検索処理の結果から絞り込む(QuickSilver方式) .zsh_historyを高速に履歴検索する専用プログラムを作成し、パイプとかで通信する(コマンド起動がオーバーヘッドの場合) $ wc ~/.zsh_history 85970 342643 3865720 /m/home/rubik

    「履歴を絞りこみながら正規表現で検索する。」を使ってみた - http://rubikitch.com/に移転しました
  • Emacs23へ移行した - http://rubikitch.com/に移転しました

    Emacs23が7月末にリリースされたのだが、しばらく様子見をしていていた。 俺は新しいもの好きではあるけど、EmacsヘビーユーザとしてEmacs Lispパッケージの互換性問題があるからすぐに移行するのはためらっていた。Emacs Lispの非互換な仕様変更のせいで既存Emacs Lispが動かないという事態が発生するし、実際いくつか動かないパッケージがあった。 このエントリはEmacs22→Emacs23の移行において気付いたことを要約してある。エントリができた時点でリンクにする。 まず、一番びっくりしたのが、ぱうフォントだとバックスラッシュとチルダが表示されないことだった!表示上スペースに化けてしまう。これは真っ先に解決しておかないと使いものにならない。→Emacs23でバックスラッシュとチルダが表示できない問題を回避した - http://rubikitch.com/に移転しまし

    Emacs23へ移行した - http://rubikitch.com/に移転しました
  • 1