おんがえしの blog

作ったプログラムと調べた技術情報

2009-02-01から1ヶ月間の記事一覧

Emacsのキーバインドをhtmlで出力させるツール

Emacsのキーバインドは複雑で、テキストで一覧表示されてもなかな覚えられなくて困っていました。 そこでEmacsのキーバインドを図示するrubyスクリプトを作ってみました。 使い方 M-x help b でキーバインド一覧を表示させます そのテキストをコピペして、sr…

GNU Emacs拡張ガイドを読み直す(2)

3, 4章を読みました。 3章 コマンド間の協調 4章 バッファの中を検索し、変更する 3章では関数に文脈を導入するためグローバル変数を定義します。 以下、備忘録。 シンボルには"シンボル属性"というものが定義できる。これはどのようなシンボルに対しても設…

GNU Emacs拡張ガイドを読み直す

最近 Emacs Lisp を久しぶりにいくつか書き始めて、そういえばきちんとEmacs Lispの勉強をしたのってEmacs Lispプログラミング入門以来ないなあ、と反省。と思ったら、なんとなく買って余りきちんと読んでいない本を本棚から発見。 しおりがページの半分位に…

文脈を予想しながら適切にコピーと切り取りをしてくれるコマンド

カーソル周辺の文字列を適切に取ってくれるthing-at-pointがとても便利です。 ただ、いちいち切り取る文脈を指定するのが複雑だと感じていました。そこで、(thing-at-point 'symbol)は'('等の上ではnilを返すことを利用して、 (thing-at-point 'symbol) 失敗…

TortoiseSVNによるコミットをコマンドラインから起動する

前々から欲しいと思ってたのでrubyで作ったら案外と簡単に出来ました。 コミットみたいに一度実行してしまうと簡単には元に戻せなかったり人に迷惑をかけてしまう処理は、一度GUIの画面を挟み込むと視覚的に状況が把握しやすくなってミスが減るような気がし…

EmacsWikiの、RubikitchAnythingConfigurationを読む(3) 〜anything-at-point〜

anything-at-pointという関数がすごく便利です。 仮引数を渡して起動すると、カーソル位置の単語を拾い出してanythingの入力に渡してくれます。''引用'' (defun anything-at-point (arg) (interactive "P") (if arg (anything nil (concat "\\_<" (thing-at-…

anythingにページの概念を追加する

anythingを使い込んでいくと、たくさんのanythingソースを追加したくなってきて、段々と重くなってきます。また、anything-c-source-google-suggestやanything-c-source-locate(便利だが若干重い)、anything-c-source-emacs-functions等、普段は使わないよう…

EmacsWikiの、RubikitchAnythingConfigurationを読む(1)

EmacsWikの、EmacsWiki: Rubikitch Anything Configurationはanythingの様々な設定がいっぱいで、とても勉強になります。まずはキーバインド辺りを読んで見ました。anything-next-source, anything-previous-source、ソース種類を切り替えます。 anything-so…

EmacsWikiの、RubikitchAnythingConfigurationを読む(2) 〜google検索をanythingから〜

anything-c-source-anything-google-fallback というのがありました。 これは、Meadow/Emacs memo: インターネット関連にあるgoogle.elをanything.elから呼び出す仕組みです。 ソースから引用↓ ;; (@* "google fallback") (defvar anything-c-source-anythin…

anythingを利用して、rubyのプログラムをリアルタイムに実行させる

id:rubikitchさんや、id:IMAKADOさんの記事を読んでanythingの勉強中です。 習作にrubyのインタプリタを実行させるanythingソースを作ってみました。 (defun anything-c-has-print (input) (if (string-match "print\\|puts" input) t nil)) (defun anything…