タグ

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

  • Emacs Lispテクニックバイブル正誤 - http://rubikitch.com/に移転しました

    明けまして、おめでとうございます。 今年もよろしくお願いします。 昨年発行したEmacs Lispテクニックバイブルは好評です。 絶賛の声をたくさんいただきました。 当にありがとうございます。 万全を期していたのですが、残念 ながら誤植がみつかってしまいました。 読者の皆様には大変御迷惑をおかけしました。 ================================================================ p132 4-3-2 注1が行方不明 注1 筆者は4分割以上はしていません。 ================================================================ ================================================================ p142 5-1-2

    Emacs Lispテクニックバイブル正誤 - http://rubikitch.com/に移転しました
    kshimo69
    kshimo69 2012/01/05
  • 集中力5倍!小よく大を制するミニマリストEmacs - http://rubikitch.com/に移転しました

    この記事は Emacs Advent Calendar jp: 2011 の11日目です. 昨日はta2_o2p さん、明日は id:handlename さんです。 去年、一昨年とインストーラ系を連続して紹介してきましたが、 今年はうってかわって身近な例を取り上げたいと思います。 僕は最近、Windows XPのネットブックを 使っていることが多いです。 あれだけ忌み嫌っていたWindowsの方が自宅の Linuxマシンよりも稼働率が高いのです。 数年前の自分が聞いたらびっくりしてることでしょう。 この前はネットブックにEmacsをインストール する話をしましたが、今回は小さい画面で Emacsを使うノウハウをお送りします。 最近はパソコンといえばノートパソコンが普通の ようなので、これからする話は役立つと思います。 とにかく、小さいパソコンでEmacsを使う場合、 最大の問題点となるの

    集中力5倍!小よく大を制するミニマリストEmacs - http://rubikitch.com/に移転しました
    kshimo69
    kshimo69 2011/12/11
  • 【特典付】『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/に移転しました
    kshimo69
    kshimo69 2011/11/21
  • ネットブックでEmacs環境を構築する - http://rubikitch.com/に移転しました

    それではお待ちかね、ネットブックにEmacsをインストールする話です。 この手順通りにやることで、あなたのネットブックは 立派なEmacs専用機に大変身します。 古くから、モバイルギアやリナザウによってUnix環境を 持ち歩き、そこの中でEmacsひきこもり生活を始めて いる人がいますが、その環境構築には多大な手間が かかりました。 しかし、この方法を使えば、OS換装の手間もなく、 単にEmacsをインストールするだけでよいのです。 OSはWindowsのままですが、Emacsにはeshellという 立派なシェルがありますので、各種Unixコマンドや スクリプト言語の環境を整えておけばLinuxと何等 変わらない操作性を得ることができます。 あなたも、「物書きマシン」、「Emacsが動くpomera」 というコンセプトでネットブックをとらえてみませんか? 僕は、愛用ネットブックを 「パソコ

    ネットブックでEmacs環境を構築する - http://rubikitch.com/に移転しました
    kshimo69
    kshimo69 2011/11/19
  • Yokohama.vimへ行ってきました! - http://rubikitch.com/に移転しました

    24日、Yokohama.vim #1へ行ってきました。 Yokohama.vim #1 を開催しました - Guyon Diary 意外なことに、これが勉強会初参加です。 しかも、自分のフィールドであるEmacsやRubyではなくて、アウェイなVimの勉強会。 いろいろ事故ってしまい、遅刻してしまいました。当にごめんなさい。 それにしても、みんなノートパソコンを持ってきていて、僕は持っていないので肩身が狭かったです。 そのうち安価なネットブックを手に入れたいところです。 感想はみんな書いているし、多忙なので、僕はやや短めで(笑) テーブルシャッフルVimLevelにあわせてテーブルシャッフルを行いました。 VimLevelの順番に後ろにみんなが並ぶのです。 こーゆーのは初体験で意外におもしろかったです。 高レベルの人はとても少なく、初心者・初級者が多かったです。 僕はhjklとかiax

    Yokohama.vimへ行ってきました! - http://rubikitch.com/に移転しました
  • yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました

    動機yasnippetの展開機能はなかなか強力ですが、「次の」テンプレート展開の準備や条件分岐ができない弱点があります。 連続展開の例は、プログラミングにおけるドメイン特化言語を記述する場合です。 この場合は、パターンが決まっているので、次のテンプレート展開の準備をするテンプレートを記述すればすんなり記述できるのです。 そして、テンプレート展開後に、次のテンプレートを展開していきます。 条件分岐テンプレートの例は、新規ファイル作成時に文章のテンプレートを選んで展開するケースです。 僕のブログの場合、「自作Emacs Lispリリーステンプレート」、「Emacs Lispを使ってみたテンプレート」、「EmacsのTipsテンプレート」などがあります。 記憶力のいい人ならば、テンプレート名を覚えて普通に展開すると思います。 僕の場合はテンプレート名はおろか、テンプレートを作ったこと自体忘れてし

    yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました
  • emacs-init-check.el 〜Emacsが立ち上がるときのエラーを自動的に防ぐ方法〜 - http://rubikitch.com/に移転しました

    .emacs で設定ミスって素の emacs が立ち上がったときの無力感は異常 というのは激しく同意です。 僕の場合、少し違ったアプローチをとっています。 それは、Emacsのバッチモードで ~/.emacs を読み込ませ、エラーがでないかチェックすることです。 そのためのコマンドラインは「emacs -batch --eval '(setq debug-on-error t)' -l ~/.emacs」となります。 ちなみに、 ~/.emacs.el が存在するときは、そちらが読み込まれます。 もし、エラーが起きたのであれば、バックトレースが出て異常終了します。 適切なタイミングでこのチェックを自動で行うようにすると、この問題を解決できます。 これを実現するために、emacs-init-check.elを作りました。 チェックしてエラーがでない場合は「emacs-init-check e

    emacs-init-check.el 〜Emacsが立ち上がるときのエラーを自動的に防ぐ方法〜 - http://rubikitch.com/に移転しました
  • Emacs Lispのソースコードデバッガ edebug を使う - http://rubikitch.com/に移転しました

    edebugとはソースコードデバッガedebugとは、Emacs Lispのソースコードデバッガです。 これを使うと、Emacs Lispがどのように実行されているのかをステップバイステップで見ることができます。 前の記事で紹介した trace-function では不十分な場合は、edebugで格的にデバッグします。 edebugは状態がころころ変化するので、実際に手を動かしてみましょう。 edebugを有効・無効にするC-u C-M-xで関数をedebug対象にするedebugは基的には関数単位でedebug対象にします。 特定の関数をedebug対象にするのは簡単です。 通常、関数フォームを評価する、すなわち関数を定義するには、defun中あるいは、defunの直後でC-M-xを使います。 それに対し、関数フォームをedebug対象にするには数引数をつけ、C-u C-M-xを使い

    Emacs Lispのソースコードデバッガ edebug を使う - http://rubikitch.com/に移転しました
  • デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました

    Emacs Lispのデバッグをしているとき、特定の関数呼び出しをトレースしたいことがあります。 関数呼び出しのトレースとは、呼び出した関数の引数の値と、返り値をチェックすることです。 もちろん、関数が呼び出されたかどうかもわかります。 トレースの実現にはadvice機能を使っています。 M-x trace-functionでトレースするM-x trace-functionは、特定の関数をトレースします。 このコマンドは、トレース対象関数と出力バッファを聞いてきます。 出力バッファはデフォルトで*trace-output*なので、そのままにしておくのが無難です。 複数の関数をトレースする際に出力がごちゃごちゃになるのが嫌ならば別のバッファ名にしておけばいいです。 その後でトレース対象関数を呼び出したら、トレース結果を表示します。 M-x trace-function-backgroundで

    デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました
  • org-capture 〜Emacs + org-modeで素早くメモをとる新しい方法〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 ここでは、Emacsでメモをとる最新の方法を紹介します。 org-modeバージョン7系列リリース7/19に org-mode 7.01がリリースされました。 長い6.xx時代が終わり、ついにメジャーバージョンアップしました。 細々なリリースが続けられています。 次世代メモ書きツール org-capture去年初頭にorg-rememberというメモ環境構築を紹介 しましたが、org-captureという、より洗練された方法がデフォルトになりました。 org-rememberの方も存続しているので、無理に乗り換える必要はありません。 org-mode自体がEmacs標準添付になっていて、添付版のorg-modeはやや古いため、あと数年ほどはorg-rememberユーザがいると思われます。 新しいもの好きな人は、是非とも乗り換えてみましょう。 メリットorg-

    org-capture 〜Emacs + org-modeで素早くメモをとる新しい方法〜 - http://rubikitch.com/に移転しました
  • org-mode→HTML変換をする3つの方法 - http://rubikitch.com/に移転しました

    org-modeはHTMLを生成するツールになる久々に、みんな大好きorg-modeのお話です。 orgファイルからHTMLに変換する方法を紹介します。 org-modeは、いろいろな機能を持っています。 事実上Emacsの多機能ワープロという位置付けです。 拙著『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』 でも1章をまるごとorg-modeに費やすほどです。 org-modeテキストは、読み書きしやすいという特徴があります。 なんといっても、アウトラインから文章を作成することができます。 見出しやリストが簡単に記述できるのが嬉しいです。 アウトラインを考えて文章を書くと、よい文章が書けるようになります。 アウトラインの重要性は 『文章術』という でも言われています。 そして、アウトラインから直接文章作成できるのがorg-modeです。 よって、org-mode

    org-mode→HTML変換をする3つの方法 - http://rubikitch.com/に移転しました
  • split-root.elでEmacsで横長のウィンドウを作成する - http://rubikitch.com/に移転しました

    split-root.elは図(家より転載)のように確実に画面下部に横長のウィンドウを作成します。 普段は通常のEmacsのウィンドウ分割に満足していても、特定のケースでは画面下部に出したいこともあります。 この場合は、 split-root.el を使った display-buffer-function を作成します。 display-buffer関数は、 display-buffer-function に指定してある関数を呼びます。 split-root.elは split-root にありますが、auto-install.elで直接インストールできます。 M-x install-elisp http://nschum.de/src/emacs/split-root/split-root.el (require 'split-root) (defvar split-root-wind

    split-root.elでEmacsで横長のウィンドウを作成する - http://rubikitch.com/に移転しました
  • anything.elプログラマ向け最新情報 - http://rubikitch.com/に移転しました

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

    anything.elプログラマ向け最新情報 - http://rubikitch.com/に移転しました
  • anything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として意ではありません。 auto-install.elを導入するインターネットにあるLisp

  • Emacsからgitのブランチを扱うgit-dwim.elをリリース - http://rubikitch.com/に移転しました

    Emacsを書きました】 gitはブランチが強力です。 ブランチは単なるポインタなので、gitではブランチの積極的な利用が推奨されています。 トピックブランチ特に「トピックブランチ」は便利なブランチ利用法です。 作業前に特定の作業用のブランチを切り、無事に実装できたらmasterにマージ(リベース)し、ブランチを削除する方法です。 トピックブランチを切ることで、現在の目標を明確にすることができます。 また、緊急の修正をする場合はあわてずに一旦masterに戻って修正し、再びトピックブランチで作業することができます。 トピックブランチについては http://progit.org/book/ja/ch3-4.html が詳しいです。 トピックブランチを作成するnewtopicとういう名前のトピックブランチを作成するには、以下のコマンドを使います。 $ git checkout -b ne

  • すぐにできる!いいことがある!Emacsからメールを送ろう - よーしパパ、バグレポ送っちゃうゾ - http://rubikitch.com/に移転しました

    設定の鬼だとか、設定が複雑すぎるとかマニアックすぎるとか言われている俺だが、今日はぐーんとレベルを落として、誰でもできるEmacs記事を書くことにする。Emacsを普及させるためにはユーザ目線になることが大切だからだ。 さて、今回はEmacsからメールを送る方法を教えよう。「そんなのやってるよ」、「当たり前だろ」という声が聞こえてそうだが、ブラウザバックはちょっと待ってくれ。意外に知られてないメリットがあるんだから。 Emacsには、裸の状態(emacs -Q)でもメールを送ることができる。ふつうにメールを送信するだけならば、Mew等のメールEmacs Lispをインストールする必要はない。標準状態でその機能があるからだ。 では、その設定を示そう。メールアドレス、名前、SMTPサーバ、メール送信関数をそれぞれ設定している。上3行は各自設定してね。 (setq user-mail-addre

  • テスト駆動開発支援のtest-case-mode.elを使ってみた - http://rubikitch.com/に移転しました

    今更感はあるが、最近テスト駆動開発支援Emacs Lispのtest-case-mode.elが発表された。 http://nschum.de/src/emacs/test-case-mode/ M-x auto-install-batch test-case-mode でインストール。 こんな感じ。 テスト成功のグリーン、失敗のレッドなどの信号をモードラインに表示させる バッファが変更されたら信号も対応して変わる テストを実行して、失敗したら、その行へM-x next-errorとM-x previous-errorで飛べる assert関数群に色がつく JUnit, CxxTest, CppUnit, Python(PyUnit), Ruby (test/unit)に対応 テストコードを自動判別して、テストコードならばtest-unit-modeを有効にする 設定 以下の.emacsに

  • 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/に移転しました
  • 4時間睡眠で活動時間を増やすステップ - http://rubikitch.com/に移転しました

    お久しぶりです。気付けば1ヶ月半のブログを書いていませんでした。その間、anything.elをせっせと開発していました。多数のバグを直し、機能向上をしていました。その様子はtwitter:rubikitchにてつぶやいています。 今日はいつものテーマとは違った記事を書きます。 時間が欲しい とにかく、現代人は時間が足りない、いくらあっても足りないです。誰もが「時間がないからできない」と言うことでしょう。 しかし、時間は捻出するものです。時間を有効に使うのです。「時間がない」は言い訳です。そのことを学んでから、自分の生産性は何倍にも伸びたように感じました。 生活の規律をつくる 一番大切なのは、生活に規律を作ることです。生活の規律とは、特定の時間にある行動をすることを習慣化することです。技術的な例えでは、自分自身というOSにcronを仕組むことです(笑) 実際に特定の時間にある行動をすること

    4時間睡眠で活動時間を増やすステップ - http://rubikitch.com/に移転しました
  • text-translator.elで英語・日本語を自動判別しつつすべての翻訳エンジンで検索するパッチ - http://rubikitch.com/に移転しました

    久々にtext-translator.elをアップデートしたら、いろいろ便利機能が追加されていた。とりわけこの2つは強力だ。 text-trantext-translator-allで登録されている全部の翻訳エンジンで翻訳する text-translator-translate-by-auto-selectionで英語・日語を自動判別して適切な翻訳エンジンを使う しかし、この2つが両立していないところが不便だ。text-trantext-translator-allを使おうにも、毎回「enja」だの「jaen」だの打たないといけないのは至極面倒だ。せっかく英語・日語自動判別機能があるなら、使わない手はない。というわけでパッチ。 あ、インストールはauto-install.elからM-x auto-install-batch text translatorでできるよ!auto-insta