タグ

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

  • ispell で No word lists can be found for the language "ja_JP" - mooz deceives you

    最近 Ubuntu を入れ直してから、 M-$ とか M-x ispell-buffer としたときに次のようなエラーが表示され、スペルチェックが出来なくなっていた。 No word lists can be found for the language "ja_JP" 調べてみると、ホームディレクトリ以下に .aspell.conf というファイルを作り、その中に lang en_US と記述しておけば良いらしいことが判明。 echo "lang en_US" > ~/.aspell.conf ファイルを作成し、もう一度 M-x ispell-buffer してみる。すると今度は No word lists can be found for the language "en_US". と言われてしまった。そもそも英語の辞書ファイルが入っていなかったと。 検索してみると Ubuntu なら

  • 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

    Naruhodius
    Naruhodius 2011/05/05
    なるほど〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
  • 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
  • Dropbox に Emacs のバックアップファイルを同期させない - mooz deceives you

    Dropbox 管理下にあるファイルを Emacs で編集していると, バックアップファイルである #foo.txt# や foo.txt~ がファイルと同じ場所へ保存され, その度に Dropbox の同期が行われてしまい気分が良くない. かといってこれを全く作らないようにするという設定も, バックアップファイルには何度か助けられたことがあるために頂けなかった. そこで調べてみたところ ubulog: Emacsでオートセーブファイルの作成場所を変える という記事を発見. Emacs に「特定のパターンにあてはまるファイル」のバックアップファイル名を変換したり, バックアップ先ディレクトリを指定したりする仕組みが用意されていることを知った. 上記リンク先を参考に, 次のような設定を .emacs に行っておいた. dropbox-directory と destination-direc

  • 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

  • ES Harmony の Proxy について #fxdevcon で LT してきました - mooz deceives you

    LT on Firefox Developer Conference 2010 404 Not Found | Mozilla Japan で ECMAScript Harmony の Proxy について LT させて頂きました. 発表資料 発表に使った資料を SlideShare にアップロードしました. 途中, Harmony を Harmoney と書いているところが多々ありますが, やさしく見過ごしてやって下さい. 追記 (2011 2/23 21:01) スライド中,以下のように has (in 演算子に対応) が第一引数に Proxy のインスタンスを受けとるような書き方をしてしまっていますが,これは誤りです. Proxy.create({ has: function (p, name) { } }); Proxy.create({ has: function (_, nam

  • 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

  • zlc.el で Emacs のミニバッファ補完を zsh ライクに - mooz deceives you

    find-file Emacs の find-file (C-x C-f) は当に使いにくいものだと, 常々思っていた. 中でも, 補完候補が複数あった場合の挙動. これが何とも気にくわない. 例えば, 以下のように C-x C-f を入力した直後の状態を考える. この時 TAB キーを押すと, デフォルトの Emacs では [Complete, but not unique] との表示が出るだけで, 候補一覧を表示するにはもう一度 TAB キーを押す必要がある. この「二回 TAB キーを押す」という行為が毎度毎度要求されることとなり, そのストレスたるや凄まじいものがあった. また, TAB を二回押して補完候補が表示された後の挙動は, 輪をかけて苛立たしい. この時 TAB を押すとどうなるかといえば「補完候補が全て見れるようにスクロールが行われる」だけなのだ. 補完候補一覧が画

    zlc.el で Emacs のミニバッファ補完を zsh ライクに - mooz deceives you
  • 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:

  • Twitter の OAuth 許可ページがあまりにも酷い => 応急処置 - mooz deceives you

    OAuth の Read と Write 先日, ツイート君に会話をまとめてもらい, 大変嫌な思いをした. Twitter の OAuth には Read 権限と Write 権限があって, Write 権限があると つぶやく 誰かをフォローする 誰かをリムーブする などのことが行えてしまう. つまり, Write 権限を要求するアプリケーションを許可することは, 「このアプリケーションが私のアカウントを使って勝手に変なことをつぶやいたり, 勝手に誰かをフォローしたり, 勝手に誰かをリムーブしても文句は言いませんよ」ということに等しい. さて, それでは OAuth の権限付与画面を見てみよう. ここでは冒頭に上げたツイート君が権限をこちらに要求してきている. では, いったい何の権限を要求してきているのだろうか. Read なのだろうか. それとも Write なのだろうか. 答えは R

    Twitter の OAuth 許可ページがあまりにも酷い => 応急処置 - mooz deceives you
  • 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

  • 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
  • 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

  • js2-mode.el をいくつかの新しい JavaScript の記法に対応させた - mooz deceives you

    JavaScript の奇妙な記法 最近の JavaScript (Firefox 3.5 以降) では, 色々と奇妙な記法が可能となっている. 例えば, 次のようなもの. let obj = {a: 10, b: 20}; let {a: a, b: b} = obj; // 分割代入の一種 let {a, b} = obj; // 上の省略記法 let [a, b] = [1, 2]; といった分割代入をご存知の方は多いのではないかと思う. 上記の記法はそれの一種とされていて, オブジェクトから特定プロパティの値を持ってくるときに有用. コードゴルフをたしなむ方々や, 某邪悪なアドオンのプラグインを書かれている方々の間では, 空気のような存在となっているらしい. 自分はこの記法を数ヶ月ほど前に知り, それからずっとこの書き方に憧れては, とある理由の為に使うことができずもどかしい思いを

  • エスケープシーケンスや printf フォーマットをハイライト - mooz deceives you

    文字列中の \n, \t といったエスケープシーケンスや printf フォーマット, 書いているときは良いのだけれど, 後から見たときに区切りが分かりにくかったりする. Emacs には font-lock という便利な仕組みが用意されているので, ちゃっちゃと正規表現を書いてこれらをハイライトさせるようにしてみた. (add-hook 'c-mode-hook (lambda () (font-lock-add-keywords nil '(("\\\\[areEfntv]" 0 font-lock-keyword-face t) ("%-?[0-9]*\\.?[0-9]*l?[csduoxfegp]" 0 font-lock-type-face t))))) かなり見やすくなってくれたので満足. 文字列最後の " が赤く (font-lock-warning-face?) 染まり,

  • 分割したウィンドウの大きさをインタラクティヴに変更する - mooz deceives you

    デフォルトのキーバインドが異常 Emacs をお使いの方であれば、次のようにしてウィンドウを分割しまくりの生活を送られていることと思います。 C-x 2 や C-x 3 を入力してウィンドウを分割。これは基中の基ですよね。しかし、分割されたウィンドウのサイズを変えるキーバインドとなると、即座に出てくる人はガクッと少なくなるのではないでしょうか。 この背景には、 デフォルトのキーバインドが覚えにくい というか覚えても入力しにくい 入力しにくいから使わない 忘れる といった一連の流れがあるのではないかと、僕は密かに踏んでいます。 ここで、その覚えにくいデフォルトのキーバインドを載せておきましょう。 キー説明 C-u -1 C-x ^ウィンドウを縦方向へ縮める C-x ^ウィンドウを縦方向へ広げる C-x {ウィンドウを横方向へ縮める C-x }ウィンドウを横方向へ広げる 例えば 3 文字分

    分割したウィンドウの大きさをインタラクティヴに変更する - mooz deceives you
  • 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
  • mooz deceives you

    およそ一年前,元旦から 2011 01/01 - mooz deceives you という記事を書き,昨年の出来事と年の抱負について語った.そこでは主に「学術的な方面でのインプットとアウトプットを行なう」「自分に対する投資を惜しまないこと」「を読むこと」「静的型付け言語である程度大きな物を書く」「型推論の勉強と補完フロントエンドの作成」ということをあげたようだ.果たしてそれらは実行に移せていただろうか. この m10n では年を振り返る体で,最近の脳内状況を吐き出していきたい(だらだらと書いたところ,予想以上に長くなってしまった). 作成したもの 年月を顧みる上で外せないのは自身の書いたコードだろう.ここではそのマイルストーンの中から,何からの形式でウェブへ公開したものをとりあげ,想い出などを綴ってみることにする. percol no title canythin や zaw.zs

    mooz deceives you