タグ

elispに関するk1LoWのブックマーク (257)

  • Emacs color-theme creator

    import os, re from sys import exit SOMECONST = None somevariable = min(sum(1,2), max(range(10))) def some_callable(argument1, argument2=False): """ Doc-string for some_callable function. """ if not argument1: return None try: argument1.do_stuff() except (AttributeError): # some comments if not can_fail: raise return argument1 class RegexPattern(object): def __init__(self, regex, name): self.regex

  • Emacs Lispパッケージを書く場合のテンプレート - Shohei Yoshida's Diary

    Emacs Lisp使ったパッケージを書く場合はとりあえず以下のようにしましょう。 ;;; ファイル名.el --- パッケージ概要 ;; Copyright (C) 2013 by 名前 ;; Author: 名前 <メールアドレス> ;; URL: リポジトリの URL等 ;; Version: 0.01 ;; Package-Requires: ((依存パッケージ1) (依存パッケージ2)) ;; ライセンス ;;; Code: (provide 'パッケージ名) ;;; ファイル名.el ends here詳細はこちらにあります。 とりあえずこうするのが無難ということにしておいてください。一行目のファイル名と 概要の間にあるハイフンは 3です。2ではありません。3です。 私は yasnippetの snippetとして以下を登録しています。 # name : Package

    Emacs Lispパッケージを書く場合のテンプレート - Shohei Yoshida's Diary
  • yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 - Web学び

    yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 2012年 9月 13日 yasnippet 7.0を使っていましたが、8.0が出たということで変えてみました。 ほとんど変わっている様子はなさそうなので、古いドキュメントから要約してまとめています。 次の環境で進めましたが、EmacsならWindowsでもLinux,Macでもほとんど同じだと思います。 Mac OSX Lion 10.7.4 Cocoa Emacs 24.1 github capitaomorte/yasnippet 8.0 yasnippet導入 capitaomorte / yasnippet githubにおいてあるものが最新版です。現時点での最終更新日は2012年8月22日です。 まずはelispを置くディレクトリ(私の場合はホームの.emac

    yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 - Web学び
  • web-mode.el | php templates edition for emacs

    About web-mode.el is a major-mode for mixed (HTML, PHP, scripts, styles) HTML files. web-mode.el is will never be a full featured PHP or JS mode. (We don't encourage multi-lines blocs of code in templates !). Native Features smart indentation (according to the context : HTML, PHP, JavaScript or CSS) navigation : (C-c C-n) between opening and closing HTML tag or between PHP controls if ... else ...

  • 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でキーボードイベントを扱う方法まとめ - むしゃくしゃしてやった
  • elispで文字列をevalする :NOTE: - うどん駆動開発

    文字列をevalできればいろいろと便利だ.というわけで,S式の文字列を渡すと評価する関数eval-stringを書いてみた. 実行例は以下の通り. (eval-string "(message \"hoge\")") => hoge ちなみに,S式を文字列に変換するにはformatを使うとよい. (format "%S" '(message "hoge")) => "(message \"hoge\")"

    elispで文字列をevalする :NOTE: - うどん駆動開発
  • 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

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなブログ | 無料ブログを作成しよう

    聖蹟桜ヶ丘へ 今年度の授業が全て終了した。最後の授業はテスト返却とその確認作業の後は特に何をしろとも言われていなかったので、『耳をすませば』の後半、お姉さんと雫が言い争いをする場面を生徒と皆で見た。 この場面。あの場面、お姉さんは雫に「今しなきゃいけないことから逃…

    はてなブログ | 無料ブログを作成しよう
  • anythingで正規表現のかわりにglobを使えるようにする - 適当めも

    anything便利ですよね。でもマッチさせるパターンが正規表現って使いにくくないですか?僕は使ってたたまにイラっとします。".java"っていれたら"/java"がひっかかるとか。 この手のツールでマッチさせるときはやっぱり正規表現じゃなくてglobの方が便利だと思うんですよ。というわけでglobに対応させるamp-glob.elを書いてみました。要 anytyhing-match-plugin です。 導入は簡単。まずは「M-x auto-install-from-gist 792217」で amp-glob.el をインストールします。そしたら以下を .emacs.el に書いておきます。 (require 'amp-glob) (amp-glob-mode 1) あとは普通に anything を使うだけです。特に何も考えなくても、大体思ったとおりにマッチさせられるんじゃないかと思

    anythingで正規表現のかわりにglobを使えるようにする - 適当めも
  • 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

  • データとしての S式のファイルへの書き出しと読み込み - わからん

    元ネタ:Emacs LispにおけるS式のファイル書き出しと読み込み - 睡眠不足?! id:sleepy_yoshi さんの、ファイルに書き出したデータとしての S式をどう読み込むか、というお題。これは面白いです。昨日の僕のコメントでの答案は問題を誤解していたことが判明したので考え直してみました。 ▼ これの read-data() をもっと綺麗に書きたい (setq data '(((name . "hoge") (id . 10)) ((name . "fuga") (id . 11)))) (defun save-data (filename) (interactive "sInput filename: ") (with-temp-buffer (insert (format "%s" data)) (write-file filename))) (defun read-data

  • arrayのインデント - てつじんにっき

    $foo = array( 'bar' => array( 'baz' => array( 'qux' => array( 'quux' => array( ), ), ), ), ); ネストが深くなると見づらい。(極端な例だけど) .emacs (add-hook 'php-mode-user-hook '(lambda () (c-set-offset 'arglist-intro '+) (c-set-offset 'arglist-close 0))) 全選択してインデントしなおし。 C-xh, C-M-\ $foo = array( 'bar' => array( 'baz' => array( 'qux' => array( 'quux' => array( ), ), ), ), ); こっちのほうが好み。

    arrayのインデント - てつじんにっき
  • ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました。popwin.elはEmacsにポップアップウィンドウという概念を導入することにより、バッファを表示する(display-buffer)際のEmacsのトチ狂った仕様を矯正します。この「トチ狂った仕様」とは例えば、 M-x describe-functionしたらウィンドウが勝手に分割された あるいはウィンドウのバッファを勝手に切り替えられた ヘルプバッファ(*Help*)とか補完バッファ(*Completions*)がどのウィンドウに出現するか予測できない しかも作業後にそれらのバッファが表示されたままになったりする のようなものを指します。Emacsを触ったことがある人なら上記のいずれかは不満に思ったことがあるはずです。ちなみに僕は全てを不満に思っています。 余談になりますが、Wikiped

    ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser
  • 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
    k1LoW
    k1LoW 2011/01/07
    これはきっと(fukuoka-emacs)をやれというプレッシャーだろう。
  • Xcodeを(あまり)使わないでiPhoneアプリの開発

    こんにちは、そしてはじめての人ははじめまして。 たぶん、Fusic社員の中野です。 Fusic Advent Calendarということで、何か記事を書かなければいけなくなりました。他の人の記事はなんか難しそうな記事ばかりなので、軽くプレッシャーです。 さて、iPhoneアプリを作っている人は、おそらく”Xcode”を使っている人がほとんどではないかなと思っています。弊社でも数人iPhoneアプリを作っている技術者がいますが、ほぼXcodeを使用しています。 XcodeといえばMacについてくる無料の開発環境でとても便利なツールなんですが、「Emacs・Vimで開発したい!」もしくは「Xcodeを立ち上げるのもめんどくさい!」という人もいるかと思います。そこでそんな人たちのために、Xcodeを(あまり)使用せずに行うiPhoneアプリの開発のTipsをご紹介できたらとおもいます。 検証環境

    Xcodeを(あまり)使わないでiPhoneアプリの開発
  • anything関数を好きな言語で実装できるanything-with-everything.el (Emacs Advent Calendar 2010 8日目) - yaotti's diary

    Emacs Advent Calendar jp: 2010の8日目の記事です. 7日目はid:moozさん(そうだ Info 読もう - mooz deceives you)でした.明日はid:rubikitchさんです. この記事では,anythingをより身近に使えるようになるanything-with-everything.elというのを書いたので,その紹介をします. yaotti/anything-with-everything.el · GitHub インターフェースを少し変更 @yaotti anything-with-everything.elおもろい。一点だけ。defun-anything-function-with-scriptの第1引数は関数名なのに文字列を取っているのが気持ち悪いです。ふつうにシンボルでよいかと。 2010-12-09 00:09:52 via tw

  • デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました

    Emacs Lispのデバッグをしているとき、特定の関数呼び出しをトレースしたいことがあります。 関数呼び出しのトレースとは、呼び出した関数の引数の値と、返り値をチェックすることです。 もちろん、関数が呼び出されたかどうかもわかります。 トレースの実現にはadvice機能を使っています。 M-x trace-functionでトレースするM-x trace-functionは、特定の関数をトレースします。 このコマンドは、トレース対象関数と出力バッファを聞いてきます。 出力バッファはデフォルトで*trace-output*なので、そのままにしておくのが無難です。 複数の関数をトレースする際に出力がごちゃごちゃになるのが嫌ならば別のバッファ名にしておけばいいです。 その後でトレース対象関数を呼び出したら、トレース結果を表示します。 M-x trace-function-backgroundで

    デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました
  • evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。 - 技術日記@kiwanami

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

    evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。 - 技術日記@kiwanami
  • 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