タグ

emacs-lispに関するnak2kのブックマーク (13)

  • 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/に移転しました
  • Emacs Lisp List

    Last updated: Wed Dec 24 11:36:00 2014 1270 entries Mail me (sje30@cam.ac.uk) with any suggestions for changes to this list. View recent changes to the list. 2013-06-07. I am no longer actively updating the list, as I hope that most people will start using the various packaging systems (such as ELPA or MELPA) instead for modern elisp. However, if you have an old link on here that you want to updat

  • www.koguchi.be - emacs lisp - マイナーモードの作り方

    こないだ諸事情あって(というか、趣味ですが) emacs lisp でマイナーモードを書いてました。 メジャーモードは比較的需要があるのか、詳しいページが多いのですが、マイナーモードに関しては詳しいページが無かったりします。 おそらく調べた限りだと おもてなしの空間 が最有力だと思われます。 ここだと、easy-mmode という emacs についてくるマクロを利用した作成方法とスクラッチで頑張る方法と二種類について説明されます。 ただ、(主観的判断ですが)easy-mmode を推しているようで、スクラッチの記述があんまりありません。 そうなると、マイナーモードを作るための勉強方法としてはリファレンスをゴリゴリ読むか、人様が書いてくれたマイナーモードのソースコードをハックする、という選択肢になってきます。 僕は結局 easy-mmode を使いたくなかったので、人様のソースコー

  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • Scheme、Common Lisp、Emacs Lispの比較

    「王女アテー姫を含めてハザールの男女は、 この能力によって朝ごと変身を済ませ、 そのたびに、見たこともない斬新な顔で立ち現れる。 だから近親者同士でさえ見分けがつかないほどだ。 旅行者の見聞はこれとはまったく異なり、ハザールの顔つきはどれもそっくりで、 しかも歳を重ねても容貌が変わらない。それゆえ人違いの混乱や厄介が絶えない。 どちらにせよ、結果は同じことで、ハザール族の顔はまず覚えられないし、 覚えても無益となる。」 ミロラド・パヴィチ「ハザール事典」 Lispには数限りないほどの方言がある (例えば、 http://dreamsongs.com/NewFiles/Hopl2Slides.pdf とか参照)。 そのなかで普及している Lispというと、 Scheme、Common Lisp、Emacs Lispの3つだろう。 ユーザの多さでいうと、多い順に Emacs Lisp、Comm

  • メジャーモードの作りかた 復習 - おもてなしの空間

    体を壊して、長いことプログラミングしてなかったんだけど、ボチボチ再開。まずは、ハテダラの emacs フロントエンドをなんとかしなくっちゃ まずは、Writing GNU Emacs Extentions の ch9 A Majour Mode を復習。おれこの項をこれまで一体何回読み返したんだろう。 ●ゼロベースでモードを定義する場合 モード名を決める(ex. hatedara) モード名に対応したファイルを生成する(hatedara.el) フック変数 hatedra-mode-hook を定義する (defvar hatedara-mode-hook nil "List of functions to call when entering Hatedara mode.") 必要に応じて、キーマップを定義する (defvar hatedara-mode-map nil "Keymap

  • GNU Emacs Lisp Reference Manual - GNU Project - Free Software Foundation (FSF)

    The GNU Emacs Lisp reference manual is available in the following formats: HTML - with one web page per node. HTML - entirely on one web page. HTML compressed - with one web page per node. Info document. PostScript file. PDF file. Texinfo source Return to the GNU Emacs home page. Please send FSF & GNU inquiries to gnu@gnu.org. There are also other ways to contact the FSF. Please send broken links

  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • Emacs Lisp のパターン - あどけない話

    デザイン(設計)パターンという程のことはない、Emacs Lisp のパターンを思いつくままに書きます。心は、 高階関数を書こう マクロを書こう です。 mapcar mapcar は、引数に関数をとる高階関数のよい例です。リストを取り、それぞれの値を加工して、新しいリストを返すパターンのときは、mapcar を使いましょう。 (mapcar '1+ '(1 2 3 4)) ;; => (2 3 4 5) mapcar には、自分のさせたい仕事を実装した関数を渡しましょう。 (defun f(x) (1+ (* x 2))) (mapcar 'f '(1 2 3 4)) ;; => (3 5 7 9) mapcar を連結しましょう。(オブジェクト指向でのメッセージの連結に似ていますね。) (mapcar '1+ (mapcar (lambda(x) (* x 2)) '(1 2 3 4)

    Emacs Lisp のパターン - あどけない話
  • Emacs Lisp プログラミング:

    This domain may be for sale!

  • GNU Emacs Lispリファレンスマニュアル: Top

    Lists, strings and vectors are called sequences. Certain functions act on any kind of sequence. The description of vectors is here as well.

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Programming in Emacs Lisp: Table of Contents

    序文 これは誰のために書かれたものか Lisp の歴史 初心者の人へ 謝辞 訳者まえがき 1. List 処理 1.1 Lisp のリスト 1.1.1 Lisp のアトム 1.1.2 リストの中の空白 1.1.3 GNU Emacs によるリストのタイプの支援 1.2 プログラムの実行 1.3 エラーメッセージの出力 1.4 シンボルの名前と関数定義 1.5 Lisp インタプリタ 1.5.1 バイトコンパイル 1.6 評価 1.6.1 内部のリストの評価 1.7 変数 1.7.1 値のないシンボルに対するエラーメッセージ 1.8 引数 1.8.1 引数のデータ型 1.8.2 引数には変数の値やリストも使える 1.8.3 可変な数の引数 1.8.4 関数に間違った型の引数を与えると 1.8.5 関数 message 1.9 変数の値の設定 1.9.1 set の利用 1.9.2 setq

  • 1