このブログはEmacs Lispで書かれていて、CoreOSが入ったマシンにDockerコンテナとしてデプロイされ、動いてる。あなたがこのブログのページをロードする度に、Dockerコンテナ内で走っているEmacsがリクエストをハンドリングして、org-modeで書かれた記事ファイルをhtmlに変換し、用意されたviewに差し込み、レスポンスを返している。elnode というEmacsをウェブサーバー化するプロダクト見つけて、気持ちが高まってしまったのが動機。 記事はorg-modeで書けて、いい感じ。ソースコードは github.com/supermomonga/darui.io にあります。Emacs Lispによるウェブアプリケーション開発、ある程度知見が貯まったので次はSinatra風ウェブアプリケーション作って、その後ドッグフーディングしてちゃんとしたブログエンジンとして書きなお
Migemo とは? Migemo はローマ字のまま日本語をインクリメンタル検索するため のツールです。かな漢字変換をすることなく日本語のインクリメン タル検索を快適に行うことができます。 新着情報 2004-06-28: 関連リンク集に fub と XUL/Migemoプロジェクト を追加しました。 2004-01-28: yoshi223氏による MigemizeExplorer が公開されました。 Windows の「エクスプローラーにおいてローマ字入力のみで日本語 ファイルをインクリメンタルに検索/選択することを可能にする」 ツールです。 2003-05-29: Migemo 0.40 を公開 連文節の検索に対応しました。 C/Migemoに対応しました。 Emacs側でのキャッシュに対応しました。 (白井秀行さんによる改良) Ruby 1.8 でも動くようにしました。 その他、細
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を使い
elisp のデバッグ方法について以下の3つの方法を説明します. - printf デバッグ - backtrace - edebug ■■■ printf デバッグ elisp で printf デバッグを行なうには message 関数を使います.message 関数の結果は *Messages* バッファに出力されます. 例えば以下の<リスト1>のように使います. ---------------- <リスト1> message 関数を使った printf デバッグ (defun message-sample () (let (list) (dotimes (i 10) (push i list) (message "%s" list)))) ---------------- 実行中に目視したい場合は sit-for と message の組み合わせか y-or-n-p を使うのが良い
The value of variable ‘load-path’ is a list of directories to search, in order, for EmacsLisp libraries that you load. If you do not alter it (directly or indirectly), by default it contains the Lisp source directories for the Emacs distribution. If you install an Emacs package using the package manager (see InstallingPackages), it automatically configures ‘load-path’ to handle the packages you in
始めに 大抵 Debian package を使っているわけですが, auto-install が Debian package 化されたのを機に auto-install を結構使うように なりました. とは言え, 枯れたソフトウェアはどんどん Debian パッケージ化したいと思っています. ここでは ~/.emacs に書かれている基本設定をメモしておきます. ファイルそのものは末尾に載せておきます. Local Variables でのモード設定 ;; -*- mode: emacs-lisp; coding: euc-jp-unix; indent-tabs-mode: nil -*- ;;; $Id: $ 基本的に UTF-8 で作業をしたい所ですが, emacs 22 以前だと UTF-8 を利用するのに muse-ucs が必要なので, ~/.emacs 自体は euc-j
[大きい画像はここをクリック] Riece は Emacs で動作する IRC (Internet Relay Chat) クライアントです。 特長 複数の IRC サーバに同時に接続できます。 アドオンとして提供される様々な拡張機能を利用できます。 他の elisp パッケージに依存しないのでインストールが容易です。 設定が簡単です。また、前回起動時の設定を記録・復元する仕組みがあります。 ユーザやチャンネルの一覧に別々のウィンドウを利用します。ウィンドウ構成(レイアウト)を動的に変更できます。 段階的な操作説明書が附属しています。 最新の IRC のクライアントプロトコル (RFC2812) に大方準拠しています。 ダウンロード 最新版は riece-8.0.0.tar.gz です。 (PGP 署名) 過去の版は http://dl.sv.gnu.org/releases/riece/
久々に Emacs の設定をした。普段は vim をつかっているのだが、日本語の長 文を vim で書くのはつらいので Emacs 環境を整備したかったのだ。 (Emacs ですべてを書くと左手の小指が死ぬので、日本語のときだけにつかう ことにしている) Emacs の設定は最近は MELPA だか package.el だか el-get だかでやるのが ナウいらしいのだが、どうちがうのかよくわからない。いろいろと日本語の情 報があるのだが、「そもそもどれがなんなのか」というところをあんま説明し てくれてなくて辛い。 いろいろと調べた結果、僕は以下のような結論にたっした。 package.elインストーラ。tar ball とか file を指定すると、それをインストールして くれる。便利。 MELPAレポジトリから定期的にフェッチしてきて、いいかんじに package.el 対応の サ
長ーい歴史をもつEmacsでも、いまだ解決できてない問題はいろいろあるわけで、その一つにパッケージ管理があると思います。 これには、すでにいろいろな試みがあります。 EmacsWiki: ELPA auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール – (rubikitch loves (Emacs Ruby CUI Books)) el-get.elでEmacs Lispパッケージをインストール・アップグレードする – (rubikitch loves (Emacs Ruby CUI Books)) 他のプログラミング言語やLinuxディストロに目を向けてみますと、それぞれ独自のパッケージ管理方法があるわけですがCRAN、CPAN、PyPIのようなELPAに当たるサイトで集約的に管理されているものがほとんどです。
こんばんは。 ブログを自鯖でうごかそうと思っていたらずるずるの更新できない状態のだったのですが、EmacsでのRubyの設定を整理したので晒します。 できる限りに丁寧にかくつもり。 Railsに関連する設定は別記事することにしましたのですこしけずりました。 前提条件 gitが導入済 auto-installが導入済 本記事で導入するもの ruby-mode inf-ruby rspec-mode ruby-electric ruby-compilation rvm yari flymake rubydb ruby-block RSense ri-emacs rcodetools gitからcloneしたものに関して 本記事の例では ~/.emacs.d/from_git に配置していることを前提にします。 ELPAからのインストール ELPAのインストール 以下を評価 (scratchバッ
最近複数のサーバに接続してファイルを編集することが多くなった。 まあつまり複数のプロジェクトがパラレル走っているというダークな状況なわけなのだけれども、だんだんサーバごとにEmacsの環境を構築するのが面倒になってきた。 というわけで、今まで導入していなかったTRAMPをインストールすることにした。 TRAMPはEmacsでリモートファイルの編集をするためのパッケージ。 まずはファイルをダウンロードして任意のディレクトリに解凍。 $wget http://ftp.gnu.org/gnu/tramp/tramp-2.1.9.tar.gz $tar zxvf tramp-2.1.9.tar.gz $mv tramp-2.1.9 ~/emacs/tramp .emacsに以下の行を追加 ;;tramp (add-to-list 'load-path "~/emacs/tramp/lisp/")
Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基本的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar
最近ロードバイクを買いました。nagata(@handlename)です。 前回、安易にも無防備な.emacsを晒したら、我らがtypester先生に 「.emacsに全部書くのは小学生までだよね〜」(大幅に誇張あり) と言われてしまったので、早速.emacsを分割してみたいと思います! (設定ファイル群をgithubにあげました) なんで分割するの? そもそもなんで分割するんでしょうか? メリットとしては、こんなものがあります。 見通しがよくなる 環境依存の設定を切り分けられる 一部のファイルにエラーがあっても他のファイルの設定は適用される それぞれ個別にbyte compileできる 一部のエラーが全体に影響しないっていうのはいいですね。とっても。 では、実際に分割する方法を見ていきましょう。 分割してみよう 分割した設定ファイルを読み込むために、IMAKADOさん謹製のinit-lo
http://ftp.gnu.org/pub/gnu/emacs にあった emacs22.3 と emacs23.1 をビルドし,emacs23で追加された関数,削除された関数を調べました。 追加された関数 http://gist.github.com/369189 削除された関数 http://gist.github.com/369190 調査方法はおおまかにいって,emacs -q で起動したそれぞれの emacs で (mapatoms (lambda (s) (when (functionp s) (insert (symbol-name s) "\n")))) し,diff をとりました。functionp は emacs23 でも emacs22 の定義を用い統一しました。間違いの指摘などはコメントで頂けるとうれしいです。 追記 id:rubikitch さんに eldoc-
Emacsの特徴の1つに、柔軟にカスタマイズが可能な点がある。本記事ではフォントの変更や外観の変更、キーバインディングの変更と行った基本的なカスタマイズと、定番のカスタマイズを紹介する。 Emacsは「Editor Macros」の略から命名されたことからも分かるように、柔軟にその動作をカスタマイズすることができる。EmacsのカスタマイズにはEmacs Lisp(elisp)と呼ばれる、Lispベースの専用マクロ言語を利用するのが一般的だが、Emacsに備えられているカスタマイズ機能を用いたカスタマイズも可能だ。elispによるカスタマイズは柔軟性に優れるものの、elispの文法はCなどの手続き型言語とは異なるため、取っつきにくさを感じる人も多いだろう。そのため、まずはカスタマイズメニューを用いたカスタマイズや、定番のカスタマイズ例をコピー&ペーストで利用する方法を覚えておくとよいだろう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く