タグ

ブックマーク / dev.ariel-networks.com (16)

  • Emacs Lispでスクリプト処理 — ありえるえりあ

    今回はこのバッチモードでのEmacs Lispに焦点を当てて,テキストを処理するスクリプトやサーバーデーモンを書くためのテクニックを紹介したいと思います. ■■ バッチモードでの標準入出力 バッチモードでは一部の関数が標準入出力を扱うための関数に変化します.早速おきまりのスクリプトを書いてみましょう(リスト1). ------------------ <リスト1> hello.el (princ "Hello, world.\n") ------------------ princ関数は第一引数を標準出力に出力する関数です.このスクリプトを実行するにはターミナル上でEmacsを起動します(リスト2). ------------------ <リスト2> % emacs --script hello.el Loading subst-ksc... oading subst-gb2312...

  • Emacs の dump-emacs 関数の怪 — ありえるえりあ

    Recent entries 宣伝:C/C++のための開発補助ツール、GCCSenseをリリースしました matsuyama 2010-04-15 宣伝:Rubyのための開発補助ツール、RSenseをリリースしました matsuyama 2010-03-21 Emacsは死んだ matsuyama 2010-02-22 WebアプリケーションをiPhoneに対応させるための技術メモ matsuyama 2009-10-13 tokyo-emacs#x02の個人的レポート matsuyama 2009-09-07 Recent comments replica louis vuitton Anonymous User 2010-12-22 Re:テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました Anonymous User 2010-12

  • Emacs Lisp 勉強会(バッファとウィンドウ編) — ありえるえりあ

    Recent entries jlineで日語を使えるようにする。 sugawara 2009-12-10 五反田Emacsの資料 sugawara 2009-10-19 trac-ticket.el sugawara 2007-11-19 Emacs Lisp 勉強会(バッファとウィンドウ編) sugawara 2007-10-22 10/11に行ったEmacs Lisp勉強会の内容です。 コラムのとこに載せようと思ったのですが、やり方がわからないのでここに載せました。 バッファとウィンドウって? バッファは Emacs で編集するテキストを持っているオブジェクトです。 簡単に言うと、文字列みたいなものです。 MVC の Model だと思えば良いです。 ウィンドウはバッファを表示する領域です。 MVC の View だと思えば良いです。 複数のウィンドウに同じバッファを表示する事がで

  • Rubyの好きなところと嫌いなところ — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • Emacs Lisp デバッグ — ありえるえりあ

    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 を使うのが良い

  • Emacs Lisp(実践編) — ありえるえりあ

    elisp(lisp) については何となくイメージが掴めたでしょうか?この章ではもう少し Emacs固有の概念であるバッファ,ウィンドウ,ポイントについてまずは説明します.その後,実用的な elisp の例として Java ソースファイルのメソッドの一覧を表示・選択・ジャンプできるコマンドを作っていきます. ■■■ バッファとウィンドウ バッファは Emacs で編集するテキストを持っているオブジェクトです.簡単に言うと文字列みたいなものだと思って下さい.MVC の Model に相当します.バッファは elisp の文字列を処理するときにとっても重要です.実際文字列を操作する関数よりもバッファを操作する関数の方が多いくらいです.バッファとリストを自由自在に扱えるようになれば,あなたはもう elisper です. ウィンドウはバッファを表示する領域です.MVC の View に相当します.

  • lispを(なるべく)書かないコマンド作成講座(菅原泰樹) — ありえるえりあ

    lispを(なるべく)書かないコマンド作成講座(菅原泰樹) 「Emacsのトラノマキ」連載第三回「lispを(なるべく)書かないコマンド作成講座」 * はじめに 今回は今までと趣向を変えて自分用のコマンドの作り方を紹介しようと思います.elispをごりごり書かないとコマンドを作れないと思っている人も多いかと思いますが,そんなことはないです.書かなくてもなんとかなるもんです.そんな訳でなるべくelispを書かずにコマンドを定義する方法を紹介していきます. elispを書かずにコマンドを定義するには以下の方法があります. - キーボードマクロを活用する - 外部プログラムを使う - Emacsに手を入れる Emacsに手を入れるのは最後の手段なので,キーボードマクロと外部プログラムを使う方法を見ていきましょう. * キーボードマクロ Emacsにはキーボードマクロというものがあります.Exce

  • Emacsの検索機能を使いこなす(2)(菅原泰樹) — ありえるえりあ

    Emacsの検索機能を使いこなす(2)(菅原泰樹) 「Emacsのトラノマキ」 連載第二回 「Emacsの検索機能を使いこなす(2)」 第一回目の原稿(http://dev.ariel-networks.com/articles/emacs/part1)と重複があります。第一回目の原稿が長すぎて分割したためです。 ■■■はじめに 前回にひきつづき,今回も検索機能の紹介をしていきます.今回はソースコードブラウズに役立つimenu, etags, gnu-globalを使ったタグジャンプの為の機能と,anythingを使った検索の拡張を紹介します. ■■■imenu -- バッファ内での関数ジャンプ まずはimenuの紹介です.imenuを使うと そのバッファ内で定義されている関数や変数に簡単にジャンプする事ができます.imenuの利点は後で紹介するetags等と違って特別な準備が必要ない事で

  • Emacs の略語展開のメモ ― ありえるえりあ

    実を言うと僕は略語展開をあまり使わない人です。というのは略語展開結果が予測しづらいし、それで迷うぐらいならそのまま打ってしまったほうが早いことが多々あるからです。 しかし良質な略語展開機能を使えば入力速度もあがると思うので略語展開に関して調べてみました。とりあえず pabbrev.el を使ってみようかと思います。 hippie-expand hippie-expand はいろいろな略語展開機能を統一してくれるすごいやつです。具体的には以下のように略語展開機能を列挙しておいて、 hippie-expand を実行すると hippie-expand が上から順に略語展開を起動していき、最初に展開に成功したものを略語展開結果にします。 hippie-expand は略語展開を使うか使わないかに関わらず設定しておくべきです。 (setq hippie-expand-try-functions-l

  • 「Emacsのトラノマキ」連載第09回「auto-completeを使おう」(松山智大) | ありえるえりあ

    auto-completeを使おう ==================== auto-completeとは —————– 今回は手前味噌ながら拙作のauto-completeという補完パッケージの紹介と使い方の説明をしたいと思います。auto-completeはEmacsの貧弱な補完インターフェースを補完する目的で2008年に開発されました。従来のEmacsの補完インターフェースというのは良くも悪くもEmacs流でした。例えばカーソル直下のLispシンボルを補完するlisp-complete-symbol(M-TAB)を実行すると、現在のウィンドウが分割されて新しいウィンドウに補完候補が一覧されます。そして、最新のEmacsでもそうなのですが、その新しいウィンドウは自分で閉じない限り永遠に存在しつづけるのです。 長年Emacsを使っている人にとってはこの挙動はむしろ自然なのかもしれません

  • Rails(ActiveRecord)のJOINのイディオム ― ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

    Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。

  • Emacsの検索機能を使いこなす(菅原泰樹) — ありえるえりあ

    Emacsの検索機能を使いこなす(菅原泰樹) 「Emacsのトラノマキ」 連載第一回 「Emacsの検索機能を使いこなす」 ■■■100年のエディタの世界へようこそ(脚注) 今月からEmacsの話を中心にした連載を始めることになりました.連載は,Emacsを使って最高のエンジニアになりたいと願う読者のために書きます.Emacsやその周辺のツールを使いこなすと,日々使うコンピュータ環境を便利に拡張できます.連載は回ごとのテーマを決めて,Emacsの便利な使い方や設定方法を紹介します.Emacsは環境そのものです.そして,Emacs Lispにより拡張可能な環境です.Emacs Lispを覚えるとEmacsの可能性は更に広がります.残念ながら他のプログラミング言語に比べてEmacs Lispを敬遠する人は多いようです.ひとつの要因が,Emacs Lispのイディオムや簡易なノウハウを紹介する

  • 「Emacsのトラノマキ」連載第11回「Emacsをもっと快適にするElisp集」(佐藤寛之) | ありえるえりあ

    ■■■ Emacsをもっと快適にするElisp集 Emacsは単独でも強力なテキストエディタですが,Elispによるカスタマイズでエディタの枠を越えた強力な作業環境になり得ます.とはいえ,Elispのコードを書くのはなかなか敷居の高いもの.そこで今回は,Web上で公開されている様々なElispをご紹介します.「Emacsって興味はあるけど何ができるの?」「Emacs使ってるけどもっと便利にしたい!」とお考えの方のヒントになれば,と思います. なお、Elispのご紹介にあたり、Emacsは23.1.1、OSはWindows7とMandrivaLinux2010.0で確認しています。環境によっては動きが異なったり、動作しない可能性がありますのでご了承ください。 ■■ newsticker.el Emacsに標準で入っているフィードリーダです. “M-x newsticker-show-news

  • 巷で話題の anything.el を使ってみた ― ありえるえりあ

    anything.el って何? 「open anything」できるようになるらしいのですが、少し抽象的で分かりづらいと思います。簡単に言えば、複数の機能をひとつのインターフェースに統合してしまうということです。例えば、 M-x anything RET emacs と入力すれば、 find-file の候補として ~/.emacs 、 Info の候補として Emacs などが列挙され、さらに絞りこんだり、十字キーで直接選択して実際の機能を利用したりします。 動作原理 antyhing は入力されたパターンと anything-sources に定義されている複数の機能を使ってインクリメンタルに候補を生成します。つまり文字を入力してパターンを更新するたびに新しい候補が出てくるのです。 anything-sources は基的に名前と候補関数のリストで構成されており、具体的な機能は候補

  • Firefox拡張機能(extension)の作り方 — ありえるえりあ

    Firefox拡張機能(extension)の作り方 Firefox拡張機能(extension)の作り方を説明します。 Firefox 拡張機能とは Firefox add-onの一種です。 add-onは次のように分類できます。 plugin ...実体はexeやdll。C++で作成。素人にはお勧めしません 検索バー ...実体はXMLの設定ファイルのみ。見れば分かるので説明はしません スペルチェッカ ...日語には無縁なので未調査(たぶんファイルを作るだけ) 拡張機能 ...実体はXML、JavaScriptCSS。必要なら、C++で書くXPCOM。これから説明します テーマ ...拡張機能のサブセット。CSSのみの場合をテーマと呼びます

  • 1