タグ

ブックマーク / rubikitch.hatenadiary.org (7)

  • 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/に移転しました
  • 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を実行するのは面倒ですね。 そこで、拙作

    mitukiii
    mitukiii 2013/11/13
  • el-get.elでEmacs Lispパッケージをインストール・アップグレードする - http://rubikitch.com/に移転しました

    Emacs Advent Calendar jp: 2010 の9日目の記事です。 去年のauto-install.el に引き続き、今年もインストーラの紹介です。 昨日は id:yaotti さん(anything関数を好きな言語で実装できるanything-with-everything.el (Emacs Advent Calendar 2010 8日目) - yaotti's diary)でした。 anything-with-everything.elは以前から作ろうと思っていたら先越されてしまいました。 明日は id:handlename さんです。 つい最近になって、Emacs Lispのインストールを管理するel-get.elが登場しました。 Emacs Lispのインストールといえば、auto-install.elやその前身のinstall-elisp.elがあります。 し

    el-get.elでEmacs Lispパッケージをインストール・アップグレードする - http://rubikitch.com/に移転しました
    mitukiii
    mitukiii 2012/12/24
  • tapかわいいよtap - http://rubikitch.com/に移転しました

    Ruby 1.9で導入されたObject#tapはRuby 1.8でも1.8.7から使えるようになった。 tapメソッドとは何かというと、自分自身にブロックを作用させて自分自身を返すだけのメソッドだ。つまり副作用専門メソッド。定義はいたって簡単、コレ。 class Object def tap yield(self) self end end たとえば、1〜4の二乗のうち10以上のものを求めたいんだけど、デバッグ時とかで途中経過である1〜4の二乗を表示してほしいなんて場合はこんな感じに。いらなくなったらtapの部分を消せばいい。楽チン。 ary = [1, 2, 3, 4] ary.map{|x| x**2}.tap{|a| p a}.select {|x| x>10 } # => [16] # >> [1, 4, 9, 16] ほかにも、破壊的メソッドを適用した後で自分自身を返す場合にも

    tapかわいいよtap - http://rubikitch.com/に移転しました
  • Rubyで簡単にエスケープシーケンスによる色付け→timestampスクリプト改良 - http://rubikitch.com/に移転しました

    エスケープシーケンスで色をつけるのは端末アプリケーションだと定番だ。 Rubyで色つき文字を出す場合、わざわざエスケープシーケンスを書く必要はない。Term::ANSIColorというライブラリを使えばいい。 インストールは「gem install term-ansicolor」で。 require 'term/ansicolor' class String include Term::ANSIColor end というコードを入れておけば、文字列に色名メソッドなどが定義されててわかりやすく記述できるぞ。こんなふうに。 print "red bold".red.bold, "\n" timestampコマンドを色付きにしてみる [update] <2010-03-30 火> シグナルで終了したときには、プロセスオブジェクトを表示してみた。 任意のプログラムを実行するとき開始/終了時のタイム

    Rubyで簡単にエスケープシーケンスによる色付け→timestampスクリプト改良 - http://rubikitch.com/に移転しました
  • savekill.elリリース - Emacsの突然死に備えて - http://rubikitch.com/に移転しました

    savekill.elをリリースしました。 動機 最近、なぜかよくわかりませんが、Emacsが突然死することありますよね? あまり使いこんでない人はあまり経験がないかもしれませんが、ヘビーユーザーにとっては日常茶飯事です。 不安定すぎて落ちまくるほどではないですが、僕のところでは数日に1回のペースで落ちてしまいます。 Emacs以外を使っていると、ソフトウェアの突然死の恐怖はよくわかると思います。 「保存してなくて、今までの作業がパーになった!」 誰もが一度はそんな経験があるでしょう。 もちろん、そこは我等がEmacs、ちゃんと防衛線は張っています。 Emacsには自動セーブ機能があり、一定時間以上保存していないと、一時ファイルに保存する仕組みになっています。 そのため、Emacsが落ちたとしても、当該ファイルに対し M-x recover-file を実行すれば、ほとんどの作業を取り戻す

    savekill.elリリース - Emacsの突然死に備えて - http://rubikitch.com/に移転しました
    mitukiii
    mitukiii 2011/03/03
    是非入れよう
  • anything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として意ではありません。 auto-install.elを導入するインターネットにあるLisp

  • 1