タグ

ブックマーク / d.hatena.ne.jp/mooz (19)

  • atool を使い dired のサポートする圧縮形式を増やす - mooz deceives you

    atool を使い dired のサポートする圧縮形式を増やす設定を紹介する. atool atool <http://www.nongnu.org/atool/> というツールがある. これは様々な圧縮形式・ツールに対するフロントエンドツールで,ファイルの拡張子から適切な圧縮形式を推測し,内部で適切なコマンドを呼び出してくれるという優れもの. 標準で搭載しているシステムは少ないが,たいていはソフトウェアリポジトリに入っている.例えば Ubuntu なら apt でインストールすることができる. sudo apt-get install atool 使い方は簡単で,例えばファイル FILE を解凍する場合は次のようにすれば良い. aunpack FILE tar xvf や gunzip など圧縮形式毎にコマンドを記憶する時代は終わった.こうして人間は退化していく. dired の圧縮・解

  • 引数として関数を渡したときの実行順序 - mooz deceives you

  • Shadow.el - Emacs に Shadow.vim を - mooz deceives you

    Shadow.vim Vim 用のプラグインに Shadow.vim というものがあります. これは, ファイルを保存するたびに 指定されたコマンドを実行し 実行結果を保存する という作業を行なう非常にシンプルなプラグインで,作者である ujihisa さんは,以下のように説明されています. これは任意の言語で任意の事前処理を行なうための薄いフレームワークです。コマンドや関数は提供されず、以下のようなファイル読み込み時と保存時のフックのみを提供します。 シンプルでこそあれ,小粒でもピリリと辛いプラグインです.その使い方,そして応用例に関しては no title を見ると良いでしょう. Shadow.el さて,先述の Shadow.vim ですが,残念ながら Emacs では動作しません.当たり前ですね. 話は変わりますが,先日開催された Yokohama.vim #1 で「Vim も E

  • anything-font-families で Emacs のフォント一覧を便利に表示 - mooz deceives you

    フォントの表示確認 Emacs におけるフォントの設定では「どのフォントがどのように表示されるか」ということを確認するのがとても面倒です.私は毎回 M-x customize-face としてから family へフォント名を設定し表示を確認する,という手段をとっていたのですが,非効率的にもほどがありました. 何か良いインタフェースは無いものだろうか.そう考えていたときにふと思い浮かんだのが anything-colors でした.これは anything.el を用いて Emacs 組み込みの色や face の一覧表示を行なう関数で,次のような特徴を持ちます. 色や face が実際にどのように表示されるかを確認可能 anything.el インタフェースにより,インクリメンタルな絞り込みが可能 anything.el インタフェースにより,色や face の名前をコピーや挿入することが

    anything-font-families で Emacs のフォント一覧を便利に表示 - mooz deceives you
  • python.el の run-python がもたつく理由,その対策 - mooz deceives you

    Emacs 上で Python をいじりたいという時には M-x run-python として Python インタプリタを立ち上げるのだが,この run-python の起動がもたつくように感じられ,長らく気になっていた. 何度も run-python とするたびにストレスがつのり,つい先ほど我慢が出来なくなりソースコードを覗いたところ,原因が判明.以下に該当部分のソースコードを示す. (defun run-python (&optional cmd noshow new) ;; <省略> (if (derived-mode-p 'python-mode) (setq python-buffer (default-value 'python-buffer))) ; buffer-local ;; Without this, help output goes into the inferi

  • js2-mode.el (フォーク版) 20101228 リリース - mooz deceives you

    ちょくちょく no title の方をいじっていたのですが, 今年中に行った変更は今年中に一度リリースしてしまおうということで. 変更点をまとめておきます. 変更点 ネストされた関数式やオブジェクトリテラルのインデント オリジナルの js2-mode で, ネストされた関数式やオブジェクトリテラルのインデントが以下のように嫌な感じになっていた問題を修正しました. $.ajax({ type : "POST", url : "some.php", data : "name=John&location=Boston", success : function (msg) { alert( "Data Saved: " + msg ); } }); 修正版では, 次のようになります. $.ajax({ type : "POST", url : "some.php", data : "name=Jo

  • xdotool を使い特定ウィンドウの表示をワンキーでトグル - mooz deceives you

    EijiroX 最近, Google Chrome を良く使うようになりました. と言っても, ブラウジング用途にではなく, 専ら EijiroX による辞書引きにですが. EijiroX は id:edvakf さんの作成されたGoogle Chrome 用の拡張機能で, かの「英辞郎」をサクサクっと快適に検索・閲覧するためのツールとなっています. Google Chrome がクロスプラットフォーム対応であるために, Windows, Mac, Linux などで動作し, 日頃からこの三つを代わる代わるに使用している身としては大助り. カナダに足を向けて寝ることは出来ないなと枕の位置を調節する日々です. とまあ, 今日は EijiroX の紹介がメインでは無いので, この辺りにしておきます. 早速, 題に入りますと, どうせならワンキーでこの EijiroX の表示をトグルできないか

    xdotool を使い特定ウィンドウの表示をワンキーでトグル - mooz deceives you
  • start-process の中で xdg-open や gnome-open を使う際の注意点 - mooz deceives you

    start-process で xdg-open が呼び出せない 以前 Linux でも open や fiber 的な動作を - mooz deceives you という記事を書いたのだけれど, ここで紹介している設定を先ほど試したところ, どうもうまく動いてくれないことが分かった. そこで, 次のような関数を書いてみる. (defun open-file-dwim (filename) "Open file dwim" (let* ((winp (string-equal window-system "w32")) (opener (if (file-directory-p filename) (if winp '("explorer.exe") '("gnome-open")) (if winp '("fiber.exe") '("gnome-open")))) (fn (repl

  • JavaScript の分割代入まとめ - mooz deceives you

    幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:

  • flyspell-mode の修正候補表示を popup.el で - mooz deceives you

    flyspell-mode + popup.el flyspell-mode という, 英語の苦手な人にとっては大変ありがたい elisp があります. かの flymake-mode よろしくリアルタイムで英単語の綴り間違いを検出しては, 該当部分のハイライトとその修正を行ってくれるというもので, この機能さえ有効にしておけばもう typo など怖くはないといえます. さて, この便利な便利な flyspell-mode ですが, 僕にとっては一つ不満点がありました. それは, 単語の修正を行うインタフェースが (確認できた限りでは) 次の二つしか提供されていないというものです. マウスで (!) 該当する単語を中ボタンクリックし, マウスを (!) 使って修正候補を選ぶ dabbrev ライクなインタフェースで修正候補を選択 (flyspell-auto-correct-word) 1

  • dired で色々なソートタイプを切り替える elisp - mooz deceives you

    ワンキーで dired のソートタイプを切り替える みなさん dired と共に良き Emacs ライフをお送りのことかと思います。 この dired では s (dired-sort-toggle-or-edit) を押すことにより「ファイルの変更日時順」と「名前順」、二種類のソートタイプを切り替えることができるのですが、正直これだけじゃ物足りません。やっぱりファイルサイズとか、拡張子別でソートがしたくなります。 以前 最近知った dired の便利な機能 - mooz deceives you で書いたとおり、 C-u s というように前置引数をつけて dired-sort-toggle-or-edit を呼ぶことで、様々なソートタイプを選択することが可能となっています。 ということで、ファイルサイズ順にソートしたければ C-u s としてから -lS と打ち込んで Enter を押せ

    dired で色々なソートタイプを切り替える elisp - mooz deceives you
  • popup.el の popup-menu* ではじめから絞り込み検索 - mooz deceives you

    popup.el の popup-menu* は非常に便利なのですが, auto-complete.el のように打ち込んだ文字に応じて絞り込み検索がされてくれればなあ, と思うこともあります. 候補が選択されてから C-s を押すことで incremental-search はできるのですが, この C-s が中々手間です. こんなことを Twitter でつぶやいていたら, 作者の id:m2ym さんからコメントを頂くことが出来ました. コメントを参考に書いてみたのが次の関数です. (defun popup-menu-ac-like (&rest arguments) (interactive) (push (car (rassoc 'popup-isearch popup-menu-keymap)) unread-command-events) (apply 'popup-menu

    popup.el の popup-menu* ではじめから絞り込み検索 - mooz deceives you
  • c-eldoc.el で C 言語プログラミング革命 - mooz deceives you

    emacs は人生 先日, また Life Changing なものに出会ってしまいました. 最近, 毎週のようにこの言葉を使っていて僕はどれだけ人生を変えれば気が済むのかという話なのですが, 出会ってしまったのです. c-eldoc.el に. eldoc.el 皆さん, eldoc.el をご存知でしょうか. Emacs Lisp を少しでも書かれるという方なら絶対に使っておきたいパッケージの一つが, この eldoc.el です. カーソル付近の関数に対する引数のリストをエコーエリアへ表示してくれたり, カーソルの位置から対応する引数を割り出しハイライトしてくれたり, もうこれなしで elisp を書く気などおきません. さらには eldoc-extension というパッケージを入れることにより関数や変数のドキュメントを表示してくれる機能まで追加され, もう至れり尽くせりです. 詳

    c-eldoc.el で C 言語プログラミング革命 - mooz deceives you
  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • mozIJSSubScriptLoader で読み込まれたスクリプト (KeySnail, Vimperator プラグイン等) を Venkman でデバッグ - リタマス

    Venkman という便利なデバッガがある. 詳細については no title を参照していただくとして, 早速題に便器. KeySnail や Vimperator のプラグインは, mozIJSSubScriptLoader の loadSubScript というメソッドを使ってロードされている. このメソッドを用いて file:///hoge/huga.js といったローカルファイルをロードすると, その URI が 読み込み元スクリプト -> file:///hoge/huga.js に書き換えられてしまう. Venkman はこの "xxx -> yyy" 形式の URI に対応していないため, loadSubScript を使ってロードしたスクリプトをデバッグしようとすると, もれなくエラーを吐く. ファイルが読み込めないのではデバッグが出来ないに等しいので, これはかなり面

    mozIJSSubScriptLoader で読み込まれたスクリプト (KeySnail, Vimperator プラグイン等) を Venkman でデバッグ - リタマス
  • shell-pop.el と ansi-term の設定 - mooz deceives you

    shell-pop.el + ansi-term 先日 shell-pop.el を導入し, その中で ansi-term を使うようにしてみた. 非常に軽快に動いてくれとても快適なのだけれど, ansi-term はデフォルトのままだとかなり癖があって使い辛い. そんなわけで, 自分好みにカスタマイズしてみることにした. 設定 (defvar my-shell-pop-key (kbd "C-t")) (defvar my-ansi-term-toggle-mode-key (kbd "<f2>")) ;; ============================================================ ;; ansi-term ;; ============================================================ (def

  • GitHub からファイルを完全に削除 - mooz deceives you

    なんだかヤバいものを GitHub にアップしてしまった人は、はやいとこ次のコマンドを打ち込みましょう。 git filter-branch --index-filter 'git update-index --remove file' HEAD git push --force --verbose --dry-run git push --force file には削除したいファイル名を。これで GitHub から file がコミットログ含めて完全に削除されます。 ただ、ここで安心するのは早計というものです。昨今のネット世界を掌握しているかの Google を忘れてはいけません。 試しにヤバいファイルの内容で検索してみると...... 見事に引っかかりました。キャッシュ怖い。 結論 見られて恥ずかしいものをアップロードする場合は、お金を払ってでもプライベートリポジトリにしましょう。

    GitHub からファイルを完全に削除 - mooz deceives you
  • Emacs ユーザにおすすめのアドオン KeySnail - mooz deceives you

    注意 現在の KeySnail にはプラグインシステムというものが導入され、これまで以上に拡張性が高まっています。最新版の KeySnail は以下のページよりダウンロードすることが可能です。 no title プラグインについては次のエントリを参照してください。 KeySnail 1.0 の新機能「プラグインシステム」を使う - mooz deceives you KeySnail とは KeySnail は Firefox のキーバインドを極限までカスタマイズすることが可能なアドオンです。このアドオンが keyconfig などの「ショートカットキーカスタマイズ系」の拡張機能と比較して優れている点は、次の四つ (or 人によっては三つ) となります。 キーボードショートカットに「連続したキーの組み合わせ」を指定することが可能 モードごとのキー割り当てが可能な為、同じショートカットキーに

    Emacs ユーザにおすすめのアドオン KeySnail - mooz deceives you
  • 最近知った dired の便利な機能 - mooz deceives you

    dired にも慣れてきて、すっかり zsh の出番が減ったこの頃。 ドットファイルを隠す ホームディレクトリを dired で開くと、ドットファイルやドットディレクトリがざーっと表示されファイルを探すのが結構大変になる。 F1 m してから hide といった単語で検索してみてもそれらしき関数は見つからず、どうしたら良いのだろうとずっと思っていた。 で、ついさっき知った方法。 dired で次のキーを打ち込む。 C-u s s はご存知の通りソート / 非ソートの切り替え。こいつに前置引数をつけて呼び出すことで、次のようにして dired の表示に用いられる ls コマンドのオプションを、直に弄ることが出来てしまう。 今回はドットファイルが表示されグロッキー状態だったので a オプションを外すことで解決。 色々ソート これまでは dired で s を押してもファイルの変更日時でしかソー

  • 1