タグ

emacsに関するshirebitoのブックマーク (94)

  • [emacs] Emacs LispでWebAppの開発に必要なN個のこと - 技術日記@kiwanami

    求められている気がしたので、EmacsLispについて知っていることを書いておこうと思った。 PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream 開発に必要なN個のこと by Google パッケージマネージャ Cask を使うのが今風。先日CartonというPerlのパッケージマネージャと名前がかぶっていたので、改名された。 https://github.com/cask/cask ちなみに、普段使いであれば、Emacs24.xから標準で入っているpackage.elを使うか、el-getを使う。 Bitbucket | The Git solution for professional teams アプリケーションサーバ イベントドリブンなElnodeと、httpd.elをpure Emacsで書きなおした simple-httpd

    [emacs] Emacs LispでWebAppの開発に必要なN個のこと - 技術日記@kiwanami
    shirebito
    shirebito 2013/09/11
    ネタかと思いきや為になった。
  • Google Reader代替はEmacsなのではないでしょうか - sheephead

    Google Reader終了のお知らせは、いち愛用者として非常に衝撃的でした。 Google Reader終了 ― 結局のところ「RSS」は一般の人が必要とする情報収集手段ではなかった | TechCrunch Japan なぜGoogle Readerだったのかと改めて振り返りますと、シンプルな作りもさることながら、やはり豊富なショートカットが重要なファクターだったような気がします。 フィードの移動や既読の管理など、Emacsさながらのキー操作でサクサク読み進むことができました。 ん?「Emacsさながら」? それ、いっそのことEmacsでよくね? という結論に達しそうなので、Emacs上でRSSを読む方法について調べてみました。

    Google Reader代替はEmacsなのではないでしょうか - sheephead
  • LOAD-TIME-VALUE

    振り返ってみれば、今年は、人に与えるということをあまりしてなかった気がします。ブログもろくに書きませんでしたし、ソフトウェアの開発も、やら論文を読んでばかりで、あまり進みませんでした。このような状況を反省しつつ、また、気持ちの良い新年を迎えるために、ここは一つ、皆様にクリスマスプレゼントを提供する形で、タイトルにあるようなEmacs拡張を作ってみました。 diredの問題点 direxは、popwin.el同様、私の長年の不満を解消するために開発された拡張です。Emacsにおけるディレクトリ操作には、基的にdiredを利用しますが(少なくとも私は)、このdired(DIRectory EDitor)というのは、その名の通り、ディレクトリを編集(ファイルのコピーや移動など)するのに特化した拡張で、ディレクトリをフラットにしか表示できないため、閲覧性が悪く、構造的な操作が難しいという欠点を

  • Common Lisp: loopマクロ用法抄

    GrahamのANSI Common Lispでは嫌われていて碌に説明のないloopマクロ。一方、Practical Common Lispでは対照的に好んで用いられていて、全編に渡って頻繁に使われている。しかしloopマクロは難しいという意識があるのかその説明は第22章とかなり後回しにされており、ちぐはぐな感を受ける。ここでは、LOOP for Black-Belts という題のつけられたその章で解説されているloopマクロの用法を整理してみた。 ANSI Common Lispでの黒魔術扱いに敬遠していたloopマクロだったが、こうして整理してみるとそれほど難しく考えずとも便利に使うことができそうだ。 目次 繰り返し 計数繰り返し コレクション内繰り返し 変数更新しながら繰り返し ループ終了条件の追加 アクション 集約 ループ内ローカル変数 任意の式の実行 条件分岐 ループ中断 その他

    Common Lisp: loopマクロ用法抄
  • emacs-jpはじめます - Shohei Yoshida's Diary

    http://emacs-jp.github.com/ https://github.com/emacs-jp/emacs-jp.github.com Emacsのコミュニティサイトみたいなのがあったらいいよね、って 2年前ぐらいから話していた気がするんですが、全く持って実現に 至れていませんでした。ですが、先週の @myuheさんの 以下の tweetからいろいろ議論が盛り上がり、ようやく行動に 移れたかなという感じになっています。 結局、日Emacserが集える場所とはどこだったのか。 2013-02-12 19:43:47 via twitcle 主な目的 質問、疑問に答える 添削 メンテナンスされていないパッケージを emacs-jp organizationで管理する などです。 こんな人はぜひ わからないことがある こんな拡張ないの ? こんな拡張書いたけど、見て欲しい こ

  • all-ext.el:対象行を絞り込んでからまとめて編集するM-x allを超強化!occurと融合&anything・helmと連携 - http://rubikitch.com/に移転しました

    お久しぶりです。 みなさん、M-x allって知ってますか? M-x package-install all でインストールできるのですが、これはM-x occurのように正規表現にマッチする行を表示します。 occurとの違いは表示結果を書き換えれば、該当部分が自動的に書き変わることです。 ユースケースとしては、編集対象行を絞り込んでから、置換やrectangle系コマンドで一気に編集するって感じです。 便利なので以前から重宝しています。 ただ、occurより劣る点としては、対象行の行番号が出ていない点と、M-g M-n (next-error)とM-g M-p (previous-error)で移動できない点です。 (union all occur) occurで絞り込んだはいいけれど、その結果をやっぱり編集したいという場合に改めてM-x allを実行するのは面倒ですね。 そこで、拙作

  • http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame

    ふとemacsの設定どのくらいになっているのかなーと思って行数数えたら wc -l init.el inits/* | grep total 2303 totalと、とんでもないことになっていたので、これまでどんな設定してたか思い出すことも兼ねて、emacs設定大掃除をおこなってみました。そこで「これは捨てられないなー」と思った設定を淡々と書いていきます。 ちなみに実際の設定ファイルはhttps://github.com/shibayu36/emacs/tree/master/emacs.d を御覧ください。 init-loader.el emacsでinit-loaderを導入してみた - $shibayu36->blog; の記事でも書きましたが、init-loaderは便利です。最近の構成としてはinit.elにはinit-loaderの設定だけ書いて、inits以下に全部設定置いて

    http://shibayu36.hatenablog.com/entry/2012/12/29/001418#mc?u=ainame
  • Emacs Lispを書くときのyasnippetやauto-completeの設定など(もしくは関西Emacs勉強会の続き) - むしゃくしゃしてやった

    またまた時間が経ってしまいましたが、第5回関西Emacs勉強会の記事の続きです。 プレゼンでEmacs Lispを書くときにこんな風にyasnippet.elとauto-complete.elを使ってますとの紹介をしましたが、詳しい設定はブログでと言ったままでした。 ようやく公開です。 Emacs勉強会を見ていない人のために要点をまとめると 問題 yasnippet便利!!でも… 1. 何を登録したのか忘れる 似たもの (defun defvar) 環境 (会社 or 自宅) 2. どの省略形で発動するかを忘れる 短いほうがうれしいけど 展開後と大きく違うと忘れる 括弧は不要?必要? (不要なのにつけると)括弧が二重に展開 (必要なのにつけないと)括弧がない 解決策 auto-completeで対応 省略形は元のシンボル名(忘れない) 途中まで打てば候補が出る(思い出せる) 括弧がないとき

    Emacs Lispを書くときのyasnippetやauto-completeの設定など(もしくは関西Emacs勉強会の続き) - むしゃくしゃしてやった
  • virtualenvwrapper-emacs-desktop

  • 括弧の自動挿入の挙動をオレオレ設定できるflex-autopair.elで夢を叶える - むしゃくしゃしてやった

    空気を読まずに4/1なのに気エントリの投入です。今までいくつ作られてきたのか分からない、括弧を自動挿入する系のelispを作ったのでリリースします。 私はこれを使い始めてから、閉じ括弧とスペースを打つ回数が激減しました!さらに、怖いぐらい宝くじも当たり、長年の持病だった痔と水虫も治ったらいいなぁ。まずはデフォルト設定を一週間試してみてください。 紹介のためのスクリーンキャストを撮影しましたので、とりあえずご覧下さい。 試しに使ってみる! スクリーンキャストを見て、面白いと思ったはずなので使ってみましょう。 インストールは (auto-install-from-url "https://raw.github.com/uk-ar/flex-autopair/master/flex-autopair.el") を評価するか、 marmaladeから M-x package-install fl

    括弧の自動挿入の挙動をオレオレ設定できるflex-autopair.elで夢を叶える - むしゃくしゃしてやった
  • Marmalade という Emacs用のパッケージリポジトリが便利そうだからさらにパッケージが登録されるために日本語で書いたら意外とみんな登録してくれるんじゃないかと思って勝手に日本語に翻訳してみたんだけども - @peccul is peccu

    Marmaladeはお手軽感が素敵なEmacs Lispのリポジトリサイト これをみて便利そうだなと.時代が来たな.という訳で,はてなブログも招待してもらえたしパッケージのアップデートフォーマットのページを翻訳してみる.パッケージの登録はパッケージの作者じゃなくてもできるので,これを見た人はどんどん登録しましょう.Linuxのディストリビューションのパッケージマネージャっぽくなってきましたね.Marmaladeへのリンク Marmalade Spreadable Elisp パッケージは次のどっちかのフォーマットにしてください: ひとつの .el ファイル .el ファイルはかならずこの行で始めて下さい:;;; name.el --- descriptionそしてかならずこの行で終わってください:;;; name.el ends here ほかのメタデータ(ヘッダ)をつけるならこのフォーマ

    Marmalade という Emacs用のパッケージリポジトリが便利そうだからさらにパッケージが登録されるために日本語で書いたら意外とみんな登録してくれるんじゃないかと思って勝手に日本語に翻訳してみたんだけども - @peccul is peccu
  • PowerLineがかっこよすぎる - $web->{note};

    http://www.emacswiki.org/emacs-en/PowerLine こういうのが欲しかった。ごちゃごちゃして見にくかったモードラインがスッキリ!しかもかっこいい! (元ネタはVimらしい。) powerline.el はカスタマイズするのが大変そうだったのでwikiのsnippetを自分好みに修正してみた。 と言っても色をテーマに合わせたのと %Z と %* を追加しただけ。この二つはあった方が便利なので。 %z The mnemonics of keyboard, terminal, and buffer coding systems. %Z Like ‘%z’, but including the end-of-line format. %* ‘%’ if the buffer is read only (see buffer-read-only); ‘*’ if

    PowerLineがかっこよすぎる - $web->{note};
  • Emacs24で標準となるパッケージ管理システムとその周辺まとめ - sheephead

    Emacs24のリリースも近づきつつある(ソース俺)今日この頃、皆様いかがお過ごしでしょうか。 私はと言いますと、4月から異動で新しい職場となりEmacsの利用頻度がガクーッとさがってしまいました。というわけで、ここ最近Emacsをいぢる機会もあまりなかったのですが、次の記事が目につきまして It’s just same as dust ahead of a wind: el-get を使って Emacs でパッケージ管理 いやはや、これはだいぶ誤解されているぞ、と。これはいかん(何が)と思い、Emacs24のパッケージ管理システムについて書いておくことにしました。 Emacs24では、標準でパッケージ管理システムが同梱されます。これはpackage.elにより提供されていて、Emacs23で利用したい時は以下のpackage.elを使うと良いです。 package.el このパッケージ管

    Emacs24で標準となるパッケージ管理システムとその周辺まとめ - sheephead
  • virtualenv上のpythonをquickrunで呼ぶ - podhmoの日記

    quickrun 現在のバッファの内容をファイル名に結びついた言語のコマンドで実行してくれる(e.g. foo.pyならpython) https://github.com/syohex/emacs-quickrun motivate pythonを書くときには、virtualenvでプロジェクトごとに環境を分けている。 なので以下のようなことがquickrunでもできたら良いなと思った。 ~/venvs/poject1/foo/bar.pyでは~/venvs/project1/bin/pythonを利用して欲しい。 ~/venvs/poject2/boo/boo.pyでは~/venvs/project2/bin/pythonを利用して欲しい。 一方で、quickrunのpythonの設定を見ると、:command "python"とpython決め打ちだったのであまり良くない。 how

    virtualenv上のpythonをquickrunで呼ぶ - podhmoの日記
  • EmacsのPython開発環境を整えた

    macbookを買ってからずっとcarbon emacsを使っていたんだけど、思うところあって23系に変更した。 ここを参考にしながらソースコードを落としてきてインストールした。 python開発環境はemacs-for-pythonがよさそうだったんだけど自分の環境ではpyflakesが動かなかったので、深入りする前にやめた。今度また時間があるときにチャレンジする。 結局以下のサイトを参考にしてflymake, pyflakes, pep8, virtualenv, noseが動くようにしておいた。 flymake+pyflakes+pep8 virturalenv nose 出来上がったelisp (add-hook 'python-mode-hook '(lambda() (setq indent-tabs-mode nil) (setq indent-level 4) (setq

    EmacsのPython開発環境を整えた
  • Emacsでキーボードイベントを扱う方法まとめ - むしゃくしゃしてやった

    Emacsを使い始めると、誰でもあまり意識せずにキーボードイベントを扱っていると思います。 特にdefine-keyやlocal-set-keyなどのキーバインドを設定する際には、とりあえず人のコピペでちょっと変更すればなんとかなるし、kbdマクロを使ったり使わなかったりも私の場合は適当でした。 ですが、自分でelispを書き始めるとキーボードイベントをうまく扱う必要が出てきました。 もともとEmacsではキーボードイベントを(歴史的な背景から)複数のデータ形式で扱っていて、そのため複雑になっています。 http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_21.html#SEC303にはキーボードイベントを扱うための方針が書いてあるのですが「とりあえずベクトルで扱っておいて必要に応じてリストに変換してね」ぐらいのことしか書いて

    Emacsでキーボードイベントを扱う方法まとめ - むしゃくしゃしてやった
  • smartrep.el 0.0.3をリリースしました - sheephead

    昨年の暮れに作ったsmartrep.elですが、諸々のバグフィックス及び新機能追加 を行なった0.0.3をリリースしました。前回の日記は次のとおり。 連続操作を素敵にするsmartrep.el作った コードはGithubに置いてあります。 myuhe/smartrep.el – GitHub 前回同様、Emacs wikiとmarmaladeにも置いてありますのでお好きなインストーラからインストールしてください。 次から主な変更点について書いていきます。 これまでのバージョンのものではバインドするキーの設定がめんどうで、引数が必要な関数はlambdaで括る必要がありました。例えばこんな感じに定義する 必要があったのですが (smartrep-define-key global-map "C-q" '(("n" . (lambda () (scroll-other-window 1))) (

    smartrep.el 0.0.3をリリースしました - sheephead
  • 連続操作を素敵にするsmartrep.el作った - sheephead

    Emacsを使っていると、多くの人が経験するであろう悩みの一つにキーバインドがあります。 当たり前ですがバインドできるキーは有限で、しかも楽して打てるキーともなるとそんなに多くはないように思います。VimのようなモードをもたないEmacsでは、これは宿命のようなものです。 なので、この問題を解消する多くの拡張があって、key-chord.elやsmartchr.elは使われている方も多いんではないかと思います。 ただ、どちらも万能というわけではなくて、例えば、key-chord.elは通常の入力とバッティングすることが往々にしてあるので、バインドするキーの選択にはかなり用心する必要がありますし、smartchr.elも入力パターンがトグルするという特徴上、連続する入力とかには向いていません。 こんな感じで今のところこの枯渇問題を解消する決定打というのはなくて、いろいろと組み合わせて使うのが

    連続操作を素敵にするsmartrep.el作った - sheephead
  • Emacsデフォルトの機能で改行やタブ、スペースを色づけできるようになってた

    今回も、弊社で毎日行われている、ミニミニ Emacs 勉強会で @tomoyaton から教えてもらいました。 Emacs23 からは M-x global-whitespace-mode すると、改行やタブ、スペースを色づけできるようになってます。常に表示させるには ~/.emacs に以下を書けば OK です。 ;; スペースの定義は全角スペースとする。 (setq whitespace-space-regexp "\x3000+") ;; 改行の色を変更 (set-face-foreground 'whitespace-newline "gray40") ;; 半角スペースと改行を除外 (dolist (d '((space-mark ?\ ) (newline-mark ?\n))) (setq whitespace-display-mappings (delete-if '(la

  • UbuntuとEmacsでF# - 水底で思うこと

    意外と簡単に環境つくれました。Ubuntu は 10.04 LTS です。 ♯Monoインストール Ubuntu の apt で入れました。というか入れてありました。version は 2.10.5 なので F# 入れるには十分新しいようです。 ♯make ツール autoreconf をしたら libtoolize が無いと怒られたので $ sudo aptitude install libtoolで入れました。automake autoconf も必要なのでなければ入れます。もちろん make も必要です。 ♯F# 体の make と install $ cd ~/download $ git clone git://github.com/fsharp/fsharp $ cd fsharp $ autoreconf $ ./configure --prefix=$HOME/local

    UbuntuとEmacsでF# - 水底で思うこと