タグ

elispに関するeielのブックマーク (15)

  • 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でキーボードイベントを扱う方法まとめ - むしゃくしゃしてやった
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • おすすめEmacs設定 - 2011-02-16 - ククログ

    注: これの更新版である2012年版があります。 他の人がEmacsを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のEmacsのおすすめ設定をここに記しておきます。 ディレクトリ構成 長年漬け込んできたEmacsの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。 .emacs.d |-- init.el ;; 基的な設定を記述 |-- config ;; 特定のモードや非標準のElispの設定をこの下に置く | |-- builtins.el ;; 標準Elispの設定 | |-- packages.el ;; 非標準Elispの設定 | `-- packages ;; 非標準Elispのうち、設定が多

    おすすめEmacs設定 - 2011-02-16 - ククログ
    eiel
    eiel 2011/02/19
    標準elispの設定をファイル単位で分離するという考えを真似しよっと。
  • ヘルプバッファや補完バッファをポップアップで表示してくれる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 Advent Calendar jp:2010) - tototoshi の日記

    Emacs Advent Calendar jp: 2010 : ATND 『5分でさくっとかけるような tips でいいのです。そういう tips の方が意外と有用だったりするのですから。』 ということで、 しょうもないようで、でもこれがないとやってられん!っていうTips紹介します。 みなさんは、ちゃんとプログラム書くときにちゃんとインデントしてますか? してますよね。 っていうかEmacsが勝手にインデントしてくれますもんね。 でも気にするべきは行頭だけではありません。 ええ、私は行末に無駄な空白が残るのが許せません。 「ハッカーと画家」にもそんな一節がありました。あの部分だけはひどく共感した覚えがあります。意外にそういう人多いんじゃないでしょうか。 行末の空白を削除するコマンド、あります。 M-x delete-trailing-whitespace このコマンドを実行すると、カレ

    無駄な行末の空白を削除する(Emacs Advent Calendar jp:2010) - tototoshi の日記
  • auto-complete.el と look コマンドを使って英単語を補完する - わからん

    look コマンドは、英単語のつづりを調べるコマンドです。Ubuntu ならすぐに利用できます。Fedora なら sudo yum install words でインストールできるようです。Mac はわかりません。Mac でもすぐに利用できるらしいです。 ▼ こんな挙動です これをテキストエディター emacs で auto-complete.el のインターフェースで利用できれば便利です。 auto-complete をインストールし、dot.emacs に以下を追記すれば、M-h で補完できます。 (require 'auto-complete-config) (defun my-ac-look () "look コマンドの出力をリストで返す" (interactive) (unless (executable-find "look") (error "look コマンドがありません

    auto-complete.el と look コマンドを使って英単語を補完する - わからん
  • .emacs で設定ミスって素の emacs が立ち上がったときの無力感は異常 - 俺のゴーストがささやく日記

    そんなアナタにこれ! ;; elisp (require 'cl) (defmacro defapp (sw name path &rest body) "一個の elisp アプリケーションに関する設定をまとめておくための .emacs 内で使うマクロ。 効能: - .emacs 内での設定ミスによってバニラな emacs が立ち上がってしまい 猛烈な無力感にさらされるケースを減らせる。 - .emacs 内にコメントアウトにつぐコメントアウトの山脈が隆起してい くのを軽減できる。 - *Messages* バッファに出力されるログによって、どんな設定をしていて、 どの設定が有効化されていて、エラーしたときにはどの設定がエラーし たか、が分かりやすくなる。 引数 SW を non-nil とすることで BODY が評価される。nil とした場合 はなにもしない。 文字列 NAME にはそ

  • bwin·必赢(中国)唯一官方网站

    eiel
    eiel 2010/03/19
  • 俺に贈る、モダンな Emacs の環境設定の仕方 - @kyanny's blog

    自分用のメモです。 先に結論 以下の手順を http://github.com/kyanny/emacs-config/blob/master/README にまとめたので、手順に沿ってやれば環境構築できる。 auto-install.el を手に入れる EmacsWiki: Auto Install の Installation of auto-install.el に従って auto-install.el を手に入れ、使えるようにする。 ~/elisp ではなく ~/.emacs.d 以下で。 (auto-install-*) とかは *scratch* にペーストして評価するか、 .emacs にペーストして評価する。 $ cd $HOME/.emacs.d $ curl -O http://www.emacswiki.org/emacs/download/auto-install.

    俺に贈る、モダンな Emacs の環境設定の仕方 - @kyanny's blog
  • smartchr.el を使って生産性を上げる - KAYAC engineers' blog

    人生初めての萌え神社メイドカフェ体験で、「なむなむ、にゃんにゃん、ラブ込め〜」という呪文(唱えた人の味覚を鋭敏にし、ケーキの味を引き立たせる効果があるらしいです)をテレビ取材で唱えさせられそうになったので、丁重に断りました。今年1年の中でも3の指に入るほどの真面目に人と話した場面だったのではないかと思います。 そんな事があったのが、six days ago! agoではありません、IMAKADOです。 さて、皆さんはプログラム中に = を書くとき、両端にスペースを入れているでしょうか? 私は、入れています。入れないより入れた方が、プログラムがずっと読みやすくなるからです。 ですが、前後にスペースを入れない時と比べて、2回タイプ数が増えてしまうという問題があります。 そういった問題を解決する smartchr.el というemacs拡張をリリースしました。 smartchr.elを使う事で

    smartchr.el を使って生産性を上げる - KAYAC engineers' blog
  • 汎用プルダウンメニューインターフェースライブラリpulldown.el - Functional Emacser

    汎用のプルダウンメニューインターフェースライブラリpulldown.elをリリースしました。このライブラリはauto-complete.elからメニュー表示ルーチンを抜き出して独立させたものです。今のところauto-complete.elのリポジトリで開発しています。利用するにはauto-complete.elのリポジトリから取得してください。 http://github.com/m2ym/auto-complete/blob/master/pulldown.el pulldown.elを利用してプルダウンメニューを作るには二つの方法があります。一つは内部でコマンドループをシミュレートして同期的に選択結果を返すpulldown-menu関数を利用する方法です。もう一つは、auto-complete.elがやっていることですが、独自でコマンドループを適宜ハンドリングしてプルダウンメニューを操

    汎用プルダウンメニューインターフェースライブラリpulldown.el - Functional Emacser
  • anything の source の設定値について - 2009-10-12 - 武蔵の日記

    引越し遍歴パートⅡ 2018年に「上京して10年で引越しを6回した」というブログを書いた。 月日は流れ、あれから6年…さらに2回の引越しをした。ホテル暮らしも含めると3回かもしれない。 前回の記事では主に神奈川〜千葉〜東京の引越し事情を書いた。関東の浅瀬でちゃぷちゃぷ遊んでいたに過…

    anything の source の設定値について - 2009-10-12 - 武蔵の日記
    eiel
    eiel 2009/10/14
    翻訳ナイスです><
  • Rubyコード補完進捗報告1 - Functional Emacser

    ここ二週間ほど、集中して取り組んだおかげで、一応それっぽく動くようになりました。問題は山積みで実用などは遥か遠い未来の話ですが、ちょっと嬉しかったので報告です。次のスクリーンショットを見てください。 なんの変哲のない補完に見えますが、よく見ると補完候補としてFixnum#succとString#gsubが含まれているのが分かります。これの意味するところは、ローカル変数aへのFixnumオブジェクトとStringオブジェクトの代入が正しく検知され型推論されているということです。 分かりやすさのために、あえてこんな単純な例を出していますが、前のエントリにあるようなケースも現状ですでに対応できています。 def foo(n) n. # <= succ, gsubが候補として出てくる end foo(1) foo('Hello') 一応プロジェクトのURLを貼っておきます。 http://code

    Rubyコード補完進捗報告1 - Functional Emacser
    eiel
    eiel 2009/09/26
    期待
  • Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました

    Emacs Lispでは、気に入らない関数呼び出しを別な関数に置き換えることができる。たとえば、今のウィンドウに表示してほしいのに内部で switch-to-buffer-other-window を呼んでいる場合とか。 こんな場合は、letffletやlabelsを使えばよい。letにはlet*という亜種があるように、letfにはletf*という亜種がある。 関数定義をすげ変えるテストケースを el-expectations.el で記述してみる。 (require 'el-expectations) (require 'cl) ; (eval-when-compile (require 'cl)) でもよい (defun f (x) (* 2 x)) (defun g (x) (* 3 x)) (expectations (desc "オリジナル") (expect 4 (f 2))

    Emacs Lispで関数定義を置き換える方法 - http://rubikitch.com/に移転しました
  • Emacs Lisp のデータベース入門 - わからん

    概要 Emacs Lisp でデータを ".el ファイル" で保持する場合の扱いやすいデータ構造には、連想リスト、ベクタ型オブジェクトのハッシュテーブル、pure elisp のハッシュテーブル型オブジェクトのハッシュテーブル、clパッケージによるハッシュテーブル型オブジェクトのハッシュテーブルがあるようです。それぞれを少し触ってみました。あらかじめちょっとヒントを挙げておくと、文字列をキーにしたい場合は equal での比較を指定することです(僕がハマった)。 パターン1 連想リスト これは誰もが使いますね。基です。 ;; データベースの作成 (defvar db-a '(("key-a" . "val-a") ("key-b" . "val-b"))) ;; 確認 db-a => (("key-a" . "val-a") ("key-b" . "val-b")) ;; データの登録

  • 1