脳汁でコードを書くこれは夢のはなしです. 以下のようにすると, jailbreak済のiPhone OS 3.1.2とXCode 3.2.1でアプリのがやりとりできる, という夢をみました.
先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語
基礎文法最速マスターブームにのっかってみる。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
Markdown 厨の僕には、はてな記法はむずかしすぎました。記事を書くたびに、はてな記法がネックになっていたので、いい加減移転します。 http://cx4a.blogspot.com/ popwin.el v0.3をリリースしました。表示まわりの修正が主です。個人的には過去最高の安定度だと思います。 v0.3本体は次のURLから取得してください。 https://github.com/m2ym/popwin-el/tree/v0.3 install-elispあるいはauto-installを持っている人は次の式を評価することでインストールできます。 ;; install-elisp (install-elisp "https://raw.github.com/m2ym/popwin-el/v0.3/popwin.el") ;; auto-install (auto-install-f
2011/12/29更新 時代遅れの手順になってしまいました。 Clojure+Emacsな開発環境を作る(late 2011) - λab's Blogを参照してください。 ネットブックにUbuntu 10.04 を入れたので emacs から Clojure を使う手順を最初の最初から書いてみる。2ヶ月ぐらい前にやったインストール方法だとだめでした。 環境 Ubuntu Netbook Edition 10.04 GNU Emacs 23.1.50.1 機種 HP mini 2140 emacs をインストールする emacs23とか22とかいろいろあるみたいですがよく分からないので最新っぽいのをインストール $ sudo apt-get install emacs-snapshot $ sudo apt-get install emacs-snapshot-el $ sudo apt
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
SICPを読んでゆく上で必要なScheme実行環境についての設定例集です。 なんだか役に立ちそうな事柄を知っていたら誰でも書き込んでいってください。 Scheme処理系(R5RS準拠)とそれぞれの設定 GaucheGaucheは.gauchercというファイルを起動時に読み込む。なのであらかじめ読み込んでおきたいファイルなどがある場合、そのファイルに書き込んでおくと何かと便利。by iwk Mit Scheme TUT Scheme Guile Emacsの設定 viper-modeSchemeはvimよりもEmacsを使うほうが何かと便利であるので普段Vimを使う人であってもEmacsを使う必要が出てくる。しかし、EmacsとVimはなにかと根本的に違うのでフラストレーションがたまりやすい。そのフラストレーションを少し解消するのがviper-mode。EmacsにViのモードのシステムを
今回はEmacsのマイナーモードを作成する手順を紹介します。 説明では弊社が提供しているプロダクトのひとつ RSS Suite で利用している独自フレームワーク中で、対応するファイル間を移動できるようにするマイナーモードを作成していきます。 メジャーモードとマイナーモード Emacsにはカスタマイズする定義の集まりであるモードというものがあり、メジャーモードとマイナーモードの2種類があります。 メジャーモード 特定のテキスト編集向けに特化している。各バッファには、ある時点で1つのメジャーモードしかない。 メジャーモードの選択とは独立にオン/オフできる機能を提供する。 ここではマイナーモードを作成します。 バッファとウィンドウ Emacs内でファイル間を移動するには、ウィンドウとバッファの操作が必要になります。 バッファ 編集領域。Emacsの編集操作はすべてバッファを対象に行われます。 ウ
What is SCK SCK は GNU Emacs 上のマルチソース、マルチターゲットなコンパイラ作成支 援環境です。全てが Emacs Lisp で記述されているので、Emacs さえインストール されていれば簡単に利用することが出来ます。 仮定する GNU Emacs のバージョンは 21.4 以降で Meadow も含 まれます。OS については、Emacs が動作する Unix ライクな OS であり、 Cygwin も含まれます。現在ソース言語として C 及び簡単な関数型言語 (MinCaml) そして、ターゲットマシンとして x86 及び SPARC がサポートされています。 このプロジェクトは未踏ソフトウェア創造事業の支援を受けています。 Trial Use 上のアーカイブを適当な場所に展開し、そのルートにある sck.el を Emacs の load-file コマ
What is SCK SCK は GNU Emacs 上のマルチソース、マルチターゲットなコンパイラ作成支 援環境です。全てが Emacs Lisp で記述されているので、Emacs さえインストール されていれば簡単に利用することが出来ます。 仮定する GNU Emacs のバージョンは 21.4 以降で Meadow も含 まれます。OS については、Emacs が動作する Unix ライクな OS であり、 Cygwin も含まれます。現在ソース言語として C 及び簡単な関数型言語 (MinCaml) そして、ターゲットマシンとして x86 及び SPARC がサポートされています。 このプロジェクトは未踏ソフトウェア創造事業の支援を受けています。 Trial Use 上のアーカイブを適当な場所に展開し、そのルートにある sck.el を Emacs の l
Emacs で、ポイントを物理行単位 (画面上での一行を物理行と呼ぶことにします) で移動させます。 Emacs 23 以降では visual-line-mode が標準でついてくるので、 そちらがおすすめです。 昔 Emacs で物理行移動を実現するプログラムを探したところ、 いくつもあるにはあったのですが、 マルチカラムの文字が入っているときに期待通り動くものが見つからなかったので、 結局自分で書いたものです。 Emacs 21 では、vertical-motion がダメすぎ (not ほめ言葉) たり、 forward-char、backward-char の挙動が 以前と違ったりするのですが、 超 dirty hack でなんとか動しています。 大きなファイルだと遅いかもしれません。 特徴 漢字などのマルチカラム文字があってもうまく動く。 Emacs 21 でも動く。 varia
Climacs も (require :mcclim-freetype) で日本語表示できた。UTF-8 で書いた日本語を含むファイルのオープン、セーブできた。カーソル移動や C-t もちゃんと動作する。XIM は未サポートのよう。XIM をなんとかするか、SKK を移植すれば Climacs の中で生きていけるかも。 ちゃんと Lisp コードにも色が付く。まだ使い方が全然分からないけど Climacs おもしろい♪ (eval-when (:compile-toplevel :load-toplevel :execute) (require :mcclim) (require :mcclim-freetype) (require :climacs)) (climacs:climacs :new-process t)
"Yet Another Snippet Package | M-x all-things-emacs"で知った、yasnippetがすご過ぎる!!!!1112345!これは、同じ作者が以前に作っていたsmart-snippet.elのリライト版?みたいなものらしいのだが、ともあれGoogle Codeにてプロジェクトが開始されたのが3/7というから、アツい。 まぁ、とりあえずこれを見てくださいよ(YouTubeの画質だとアレだという場合は、上記プロジェクトページからaviの動画が落とせるので、そちらを見るのが良いです)。 最初のあたりは、まぁ、emacs-railsでも使われているsnippet.elとかでも十分可能なことなのだけど、複数のテンプレート候補が選択リスト表示されたり、メニューバーからテンプレートを挿入できたりするのがいい感じだし、後半、どんどんヤバくなってくる。一箇所に入力
On this Valentine’s Day, give the gift people really want – complex key chords! In other news, I’ve got fans! Well, at least one anyway. A lot of the feedback I’ve received on this site so far has been from experienced Lispers who appreciate my enthusiasm and contributions for new users. Yesterday, I got the first (I think) comment and reply from another new Lisper who’s actually getting some use
Emacs上でSLIMEを起動するのはかんたん。M-x slime と命令するだけでOKだ。 けど終了させるときはどうだろう。 まず、Emacsじたいの終了は最悪の結末をもたらす。これまで何度か起こっているように、lisp-runプロセスがEmacsという親プロセスを無くして暴走、CPUパワーを食いまくるということになってしまう。これをいちいちkillするのは何とも馬鹿らしい。 じゃあlispを消せば良いじゃん。うん、じゃあやってみる。 CL-USER> (bye) ; Evaluation aborted ==================== Lisp connection closed unexpectedly: exited abnormally with code 256…なるほど。inferior lisp program は殺せても、Emacs上でのバッファは消えない。おま
What is Lispbox? Lispbox is an IDE for Common Lisp development. Actually, Lispbox is just a pre-configured packaging of the Emacs editing environment, SLIME (The Superior Lisp Interaction Mode for Emacs), the Quicklisp library manager, and the Clozure Common Lisp compiler. Combined, these components integrate to provide all of the functionality you would expect from an IDE, and more. Lispbox makes
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く