タグ

ブックマーク / kiwanami.hatenadiary.org (13)

  • 手元の init.el を淡々と紹介する - 技術日記@kiwanami

    Emacs Advent Calendar 2012の記事です。昨日は @syohex さんのEmacsでポモドーロテクニック - Qiitaでした。 さて、今回は手元の init.el のネタを淡々と紹介してみます。 みんな知っているよねというネタばかりだとは思いますが、逆に珍しかったりするものもあるかもしれないので、すこしでもお役に立てれば幸いです。 構造化 まず、設定ファイルの構造化ですが、いろいろ試した結果以下のような感じで分けることで定着しました。 init.el 以下のファイルを読み込み base 外部ライブラリに依存しない標準Emacsの設定 frame GUIなど見た目周りの設定 utils 便利ツールの読み込み、設定 modes 各種modeの読み込み、設定 keybinds グローバルキーバインドの設定 completions, e2wm, howm, org, wl,

    手元の init.el を淡々と紹介する - 技術日記@kiwanami
    tyru
    tyru 2012/12/17
    Vimだとoperator+textobjとかいくつかの操作を組み合わせてやるけど「確かにこれ1キーでできたらうれしいなー」ってのがいくつかある。クオートの取り替えとか。
  • Gentoo派になりました - 技術日記@kiwanami

    8月〜9月ごろからメインマシンの X201s の Ubuntu10.10 が急速に不安定になってきました。原因はよく分かりません。最初、排気口が詰まったことによる熱暴走かと思っていましたが、熱の問題を解決しても状況はあまり改善せず、9月末には1日10回以上再起動するような状況になり、とても生活できない状況になったのでOSを入れ替えることにしました。 11.10までのつなぎとしてGentooでも使ってみようと思い、WDの安いハードディスクを買ってきてGentooを入れてみました。結果、相当よかったので今もそのままGentooで使っています。以下、Gentoo導入のメモです。かなりいいかげんで、細かいところはアドリブでやったのであんまり覚えていませんが、何かの参考になるといいですね。 Gentoo インストール ブートと展開用ファイルだけが入ったCDを準備。手順をひとつひとつ確認しながらすすめ

    Gentoo派になりました - 技術日記@kiwanami
    tyru
    tyru 2011/11/09
  • GNOME Do を migemo 対応にしてみた - 技術日記@kiwanami

    GNOME Do というランチャーみたいなものがあります。 Home | Davebsd.com GNOME 上のただのランチャーであれば、標準の Alt+F2 でも悪くないのですが、 GNOME Do は Plugin によって Emacs の Anything のように拡張できると言うところがポイントです。最近開発が止まり気味ですが、端で見ている限りは、十分枯れていて、もうやることが無くなってきたと言う風に見えます。 大変便利なのですが、とても残念なことに検索に日語が(ほとんど)使えません。また、日語が使えない上に L10N な日語アプリ名で検索しようとするため、ほとんどのアプリが GNOME Do から起動できません。自分は、どうしても GNOME Do から起動したいものは、 /usr/share/applications/ の中に入っているショートカットファイルをいちいち書

    GNOME Do を migemo 対応にしてみた - 技術日記@kiwanami
  • Emacsへの知の集約 - 技術日記@kiwanami

    Emacsでアプリを作ることについての自分の考えのまとめ。 Emacsの2つの側面 Emacsの可能性を議論する場合に、エディタ・IDEとしてのEmacsと、アプリケーション実行環境としてのEmacsの2つの側面を分けた方が良いかなと思っています。両者がごっちゃになるので、「Emacsは環境だ」→「エディタでメールとか変態だ」→「むきー!!!」という不毛な議論になるのだと思っています。 単純なエディタやIDEとしてのEmacsについては、十分議論が出ていると思いますので、ここでは議論しません。個人的には、趣味なら自由、仕事でやるなら望まれた生産性を満たす好きなツールを使えばいいと思っています。 今回の議論は、アプリケーション実行環境としてのEmacsです。こちらは、 Eclipse RCP や FLEX、JVM系各種スクリプトや、各種Webフレームワーク、GAE や HTML5 といった言

    Emacsへの知の集約 - 技術日記@kiwanami
    tyru
    tyru 2011/05/15
    VimをVimスクリプトインタプリタとして使うってアイデアはLingrのvim部屋ではけっこう前からある / 「Plan9でも動くよ!」 / 言語の機能は貧弱だけど...
  • concurrent.el リリース - 技術日記@kiwanami

    今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ

    concurrent.el リリース - 技術日記@kiwanami
  • Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami

    関西Emacsで発表したデモです。 まず、「FPS」は CoD MW のようなシューティングとかではなくて(それは是非やりたかったのですが)、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。 (2011/05/06 追記: Vimにも出来てました!! 3D in Vim — KaoriYa) 動作風景 所詮テキストエディタのやることですので、期待せず、生暖かい目で見てください。 一人用のムービー バッファで描いた迷路を歩きます マルチプレーヤーのムービー Emacsでサーバーを起動して、3つのEmacsから接続します。あとでtelnetで直接接続してチートします。 動かし方:シングルプレーヤー 必要な物: 64bitEmacs23.x 22でも動くかも知れません 32bitだと整数桁あふれするそうです banner 文字のビットマップを取

    Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami
  • Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami

    (2011/07/25 追記: 設定方法などについては最新の記事を参照してください→[emacs][ui] Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami) Emacsで使えるカレンダーが必要だったので作りました。 (追記 2011/01/08 ical連携の設定に足りないところがありましたので修正いたしました。また、Emacs22ではpeccuさんの所の追加設定を参照してみてください。 → CarbonEmacsでかるふわ使っちゃうよ!(ぺっくブログミラー@peccul)) こんな感じ 完成までには近所の人たちから、「カレンダーなら壁に掛かってるだろう」とか、「Google Calendarという無料のカレンダーがありまして」とか、「カレンダーならiPadにもあります」とか、幾多の助言を頂きました。ありがとう。分かってます。自分だって、2年前にPy

    Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami
  • deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami
  • deferred.el リリース - 技術日記@kiwanami

    先日の関西Emacsの会で発表しました deferred.el です。 deferred.el はEmacs Lispでの非同期処理を書きやすくするためのライブラリです。 (2010/10/08 追記:コンパイルできないバグがありますので修正中です。コンパイルしなければとりあえず動きます。。。) (2010/10/08 追記:コンパイル出来るようになりました。毎回ミスばっかりですみません。) 入手・ドキュメント 以下のGutHubの日語ドキュメントの方に一通り書いてみました。 deferred.el 日語ドキュメント そのうち頑張って英語に直したいと思っています。(手伝ってもらえると助かります><) ドキュメント目次 インストール 使い方例 インタフェース解説 関数 実行・接続 ポイント deferred.el デモ:慣性スクロール ライブラリなのでdeferred.elを単体でインス

    deferred.el リリース - 技術日記@kiwanami
  • evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。 - 技術日記@kiwanami

    非同期なプログラムを書き始めると、タイミングの関係もあってprintデバッグに頼ることが多い。アプリの動作時はmessageや独自のログバッファに出力している。 一方で、書きながら実験したり、ちょっと実行したいときには eval-last-sexp をよく使っている。しかしながら、2つ問題がある。ひとつは、画面が広いと実行したい式と結果が表示される場所が遠すぎること。もう一つの問題は、 message関数ではミニバッファの1行分しか表示されないため、流れの内容を確認するためにはバッファを切り替える必要があること。 何度も書いて試したいのに、毎回目の長距離移動やバッファ切り替えは辛いので、popup.el(id:m2ymさん)を使って改善してみることにした。 右上で eval-last-sexp すると、左下のミニバッファに結果が出てくる popup.elは内部ではすごい泥臭いことが行われて

    evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。 - 技術日記@kiwanami
    tyru
    tyru 2010/10/04
    「Vimにはポップアップなんてないが大丈夫か?」「いちばんいいエディタを頼む」
  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • e2wmについて考えたこと(調査や要件定義など) - 技術日記@kiwanami

    ツールを作るのも好き。昔からツールを作って満足して、そもそもの目的が達成できないタイプ。 はじめに この記事では、e2wm.elがなんでこんなUIになっているかを説明します。UIにはストーリーが重要だと思っていて、e2wm.elについて考えたことをまとめたいと思います。また、e2wm.elやこの記事をきっかけに、Emacsに限らず、今後のIDEの開発の貢献に役立てるといいなと思っています。 あんまりうまく使い分けできていませんが、名称について。 e2wm 仕組みや仕様を指すとき e2wm.el 今回の実装を指すとき あらすじ 画面が広くなって、なぜかEmacsが使いにくくなった そこで他のIDE、アプリなどのUIを調査してみた プログラマ(自分)の業務分析して要件を考えた 最初の実装のゴールを定義した 図の一覧@Cacoo (2010/07/03追記) Emacsと画面のサイズの変化 きっ

    e2wmについて考えたこと(調査や要件定義など) - 技術日記@kiwanami
  • Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami

    最新記事 -> cacoo.el v2.0 リリース - 技術日記@kiwanami (2012/11/17 追記) Cacoo(http://cacoo.com/)というWeb上の図形描画ツールを、Emacsからシームレスに使える cacoo.el を作りました。 Emacsユーザーにとっては他のWordやExcelなどのアプリを超える文書作成環境になるのではないかと、勝手に妄想しています。 Cacooについては以下のサイトを見てください。自分はCacooで方眼紙Excelをやめることが出来ました。 日発のCacooは複数ユーザーがリアルタイムで協調しながらデザイン作業ができるすぐれもの | TechCrunch Japan Online Diagram & Collaboration Features Tour | Cacoo インストール方法 必要なものは、Emacs22以上(たぶ

    Emacsでスムーズに図形編集ができるようになるcacoo.elを作ってみた - 技術日記@kiwanami
  • 1