Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.
追記 TwitterID:_kawaguchiさんがよりHit a Hintに近く、完成度の高い拡張、jaunte.elを公開されていますので、 Hit a Hintをお探しの方はそちらをご利用ください。 EmacsでHit a Hint(改) 自分も長距離jaunte、短距離yafastnavのような感じで使用させて頂いています。 動機 Emacsでのプログラム作成中に、同一画面内の移動の際にforward-char、backward-char、 next-line、previous-lineなどのカーソル移動コマンドを何度も打鍵して移動してしまうことが多く、 もう少し同一画面内でのカーソルの移動を早く出来ないかと考え作ってみました。 機能 動作は、 コマンド実行時に正規表現で画面内の点をリストアップしつつ、ショートカットキーと関連づけ ショートカットキーの打鍵で関連づけられた点へ移動
最近 Lisp がお気に入りです。 今日は、Lisp プログラムがリスト (括弧で括られた式) として表記される、という当たり前の事実について、Emacs Lisp をベースにしながら考察してみたいと思います。 関数はリスト、リストは関数 古い Lisp では、関数は第一要素に "lambda" というシンボルを持つ、というだけの単なるリストであったそうです。 新しい Lisp (Scheme や Common Lisp) では「関数」という独立した型になっていますが、Emacs Lisp では今も古い時代の性質を残しているということで、この点を Common Lisp と対比しながら検証してみます。 lambda 式 (関数) を、そのままの形と、二通りのクォート式で括った形、それぞれについてテストします (Meadow 3.00 と GNU CLISP 2.41 を使用しています)。
emacs-devel で今年の3月くらいに、話題になった SmlModeLine というモードラインにスクロールバーっぽいものを表示してくれる elisp があります。 結局、現在のところ標準搭載にはならず、nXhtmlMode の最新版に梱包されているらしいのですが、スクロールバーを表示してない人にとってはそれなりに便利なので(ターミナルの人とか)、紹介しておきます。 (install-elisp "http://www.emacswiki.org/emacs/download/sml-modeline.el") や、M-x anything-auto-install-from-emacswiki で sml で検索すると、見つかります。 provide されてないので、設定するときは require ではなく、load を使いましょう。 ;; sml-modeline (load "
Emacsで読みたい日本語infoとinfoの便利な使い方 2010.08.04 Emacs anything.el, Emacs, Lisp, Mercurial, Python, 統計 電子書籍の流行による若者のinfo離れが著しい今日この頃、いかがお過ごしでしょうか。こんにちわ、myuhe a.k.a 最近欲しいのはinfoリーダー機能つきkindle です。 さて、infoとはGNUプロジェクトで用いられているドキュメント形式です。Emacsではinfoリーダーとしての機能が標準で備わっていて、infoモードで快適にinfoを見ることができます。くだらない会議中などに、こそっと見るのにもってこいです。 infoは当然読み物としても使えますが、使い方によってはリファレンスとして使うこともできます。むしろこっちの方が強力で、独自のヘルプシステムを作っていくことができます。 というわけで
「リージョン選択ー>関数呼び出し」だけで、auto-complete.el のモードごとの辞書に語彙を追加できる関数を書きました。変数 auto-complete-dict-path に各自の辞書へのパスを設定して下さい。最後にスラッシュが必要です。効果をすぐに確認するには、M-x ac-clear-dictionary-cache でキャッシュを削除して下さい。 ;; リージョンを開いているバッファのメジャーモードの辞書へ追加する (defvar auto-complete-dict-path "~/.emacs.d/elisp/auto-complete/dict/") (defun append-region-to-auto-complete-dict () (interactive) (when (and transient-mark-mode mark-active) (let
<?php を含めなくてよいところがウリ。php-eval.el を読んでそういえば欲しかったと思い出した。 (defun my-php-eval-region () (interactive) (when (region-active-p) (let ((region-str (buffer-substring-no-properties (region-beginning) (region-end))) (result-buf "*php*") (temp-file (make-temp-file "my-php-eval-region-"))) (with-temp-file temp-file (insert "<?php \n" region-str)) (shell-command (concat "php " temp-file) result-buf) (view-buff
世間が iPad で盛り上がっている中、空気を読まずにEmacsです。 (2010/05/31 追記:バグがあって動かない状態でしたので、修正いたしました。試してみて動かなかった皆さんご迷惑をおかけしました。peccuさんご指摘ありがとうございました。) (2010/06/07 名称変更:名称を変更ましたので、混乱しないように内容をすこし修正しました。既に導入いただいた皆さんすみません。) 図の一覧@Cacoo(2010/07/03追記) 概要 Window分割をあらかじめ決めておいて一発で切り替えたり、ポップアップの出現位置を固定したり、ちょっと便利になるプラグインを追加できるようにする、e2wm.elというEmacsの拡張を作ってみました。Emacs以外の人に分かりやすい表現で言うと、Eclipseの「パースペクティブ」のようなものを実現するものです。 画面概観 近年モニターの解像度が
このエントリでは、ファイヤープロジェクト/Common Lisp/データ構造/ストラクチャ、M.Hiroi’s Home Page/xyzzy Lisp Programming/Common Lisp 入門/構造体 という2つの CommonLisp の構造体の解説を elisp でなぞります。ふだんの EmacsLisp でのプログラミングで抵抗なく cl パッケージの構造体を利用するための基礎知識の習得が目標です。大学生のレポート気分。 C言語の構造体はデータ型を定義するだけだが、Common Lisp の構造体はそれだけではなく、データを生成する関数 (コンストラクタ) やアクセス関数が自動的に生成される。構造体はマクロ defstruct で作成できる。 (defstruct 構造体名 (スロット名 デフォルト値) ... (スロット名 デフォルト値)) スロット name,age
emacs にいろいろな拡張を導入していると,起動時に わざわざウィンドウ分割して "Warning: `mapcar' called for effect; use `mapc' or `dolist' instead" という文言が表示されうっとうしい思いをすることがあります。この警告を抑止する方法がわかりました。dot.emacs に以下の設定を付け加えます。 ;;Warning: `mapcar' called for effect; use `mapc' or `dolist' instead を防ぐ (setq byte-compile-warnings '(free-vars unresolved callargs redefine obsolete noruntime cl-functions interactive-only make-local)) なお,byte-co
elispにもRubyのexpectationsのような美しく記述できるテスティングフレームワークが欲しい - http://rubikitch.com/に移転しました expectationsに激萌えの俺がさくっと作ったよ、expectations for elisp。expectations.elじゃ検索しづらいと思ってel-expectations.elにしといた。 こんな文法でテストが書ける。本体の評価結果が期待値とマッチすればテストが通る。本家expectationsにない機能として「desc」でコメントが書けること。ただし、たんなるデリミタなのでテスト名ではないw (expectations (desc コメント) (expect 期待値 本体) (expect ...) ... ) 具体的なコードはこんなの。 (expectations (desc "simple expec
たとえば、 From: Mail: ----------という入力欄を作りたいとして "From: " とかは書きかえられたくないので、 text-property の read-only 属性を使って ;; (get-buffer-create "hoge") しておいてくださいね。 (with-current-buffer "hoge" (let ((inhibit-read-only t)) (erase-buffer)) (insert (propertize "From: " 'read-only t) "\n" (propertize "Mail: " 'read-only t) "\n" (propertize "---------" 'read-only t) "\n"))とします。 read-only 属性が t であるような文字列は変更することができません。 ところが、
eijiro.el を読んでいて,条件分岐で case を使ってなかったなーと気づいたので,調べました。cl拡張です。地味なエントリーですみません。 (setq x 1) (cond ((= x 1) '1) ((= x 2) '2) (t '3)) ;;=>1 (setq x 1) (case x (1 '1) (2 '2) (otherwise '3)) ;(t '3)) でもよいが otherwise が慣習? ;;=>1 次の例では,いっそう case の方が読みやすいです。 (setq x 5) (cond ((= x 1) 'a) ((or (= x 2) (= x 3)) 'b) ((or (= x 4) (= x 5) (= x 6)) 'c) (t '3)) ;;=>c (setq x 5) (case x (1 'a) ((2 3) 'b) ((4 5 6) 'c) ;
Linux Conference 2002 プログラム一覧 taiyaki.org/elisp programming techniques (PDF) 現 Google エンジニアの小松弘幸氏が Linux Conference 2002 で行った "elisp programming techniques" というタイトルの発表資料をみつけたので,情報共有がてらに紹介しておきます。内容は,「アドバイス」,「emacs をフロントエンドとした外部ソフトウェアの利用方法」,「リージョン(とレクタングル)処理」のいじり方を,初歩から解説する,というもの。physical-line,pobox-el,sense-region のコードが登場します。僕は physical-line と sense-region を常用しているので,このサンプルはなんとなく嬉しい(あと text-ajust も入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く