Emacs

emacs 20.7 をビルド

某2chスレを見て、なんとなく、emacs 20.7 をビルドしてみました。 まあ、うまくビルドはできませんでしたが…。 ソースは、Debian の archive から取ってきました。 # これを探すのが一番たいへんだったり…。 http://ftp.de.debian.org/archive/debian/pool/…

undo-tree.el の導入

今更ながら、一時期 gnu-emacs-sources で話題になっていた undo-tree.el を導入してみました。 undo の履歴を木構造としてもって、それを辿る事ができる elisp です。かなり便利です。 ダウンロード git リポジトリから undo-tree.el を取得します。 git cl…

Re: 分割したウィンドウの大きさをインタラクティヴに変更する

分割したウィンドウの大きさをインタラクティブに変更する - リタマス さんの記事より。 window-resizer を起動して、hjkl 以外のキーを押したとき、そのキーが動作しないのがちょっと気になったので、 昔書いたコードからひっぱってきて合わせてみました。 …

分割したウィンドウの大きさを Ctrl-上下キーで変える

C-x 2 でバッファを上下に分割したとき等、バッファの大きさが1:1だと見辛い場合があるので、 Ctrl-上下キー(↑↓)で大きさを変えれるようにキー割り当てしてみました。 (global-set-key [(ctrl up)] '(lambda (arg) (interactive "p") (shrink-window arg))) …

partial-completion-mode と隠しバッファ

C-x b とかで隠しバッファが補完できないなあ…と思っていたのですが、どうやら、partial-completion-mode がわるさをしていたようです。 # 隠しバッファとは、名前が半角空白からはじまるバッファ。 partial-completion-mode とはオンにしておくと、例えば、…

ポイント移動しない yank / C-m に indent-new-comment-line

自分が最近やった、ちょっとしたユーティリティ(というほどのものかは分かんないけど)です。 ヤンクする度にポイント(カーソルの現在地)が変わってしまうのが嫌だったので以下のような関数をでっちあげてみました。 とりあえず大量にヤンクしてそれを後でち…

skk-kakasi で漢字混じりの文章をひらがなにする

ddskk だと、kakasi という形態素解析プログラムを使って漢字混じりの文章を平仮名やカタカナに変換できる事を知りました。 どんな読みか分からない時なんかに便利そうです。 まず、使用するには、ddskk と kakasi が必要です。 kakasi は、Debian や Ubuntu…

EOF を分かり易くする

indicate-empty-lines や indicate-buffer-boundaries を使うとバッファの最後の位置(ファイルの末尾)を分かり易く表示する事ができます。 おそらく、Emacs を GUI (-nw な環境ではない)で使ってないと効果がないと思います。 これらはバッファローカル変数…

require/loadに成功/失敗したらメッセージを出すマクロ

requireやloadに成功したら、その旨のメッセージを出し、失敗したらその旨のメッセージを出すマクロを作ってみました。 重い腰をあげて、.emacsを整理しようと思い立ち、とりあえず、require と load は以下のようなコードにしようと思ったのですが、 一々こ…

Emacs23・麻雀タイル

tokyo-emacs で知ったネタその2。麻雀タイルをなんとなく表示してみる。 コード Unicode Symbolsというフォントを使用すれば、表示できます。 ;; 現在自分が使っているフォントセットで、麻雀タイルの部分のみ Unicode Symbols で表示するようにする (set-fo…

Emacs23・フォント設定

tokyo-emacs で、 Emacs23 では、文字単位でどのフォントを使用するかを設定できるという事を知り、試行錯誤して設定してみたので、晒してみます。 設定 現在は、以下のような設定をしています。 トライアンドエラーで設定したので、おかしな部分やもっと効…

jump.el / Elispシンボルの定義元に飛ぶ

jump.el は、elisp シンボルの定義元にワンキーで飛べるようにする elisp です。 EmacsWiki を徘徊していたら見付けたので、その紹介です。 試していませんが、おそくらく、jump-jumper 変数の設定しだいで、elisp 以外でも使えるように思います。 紹介 通常…

tokyo-emacs行ってきた

参加報告というか、全然内容のないエントリです。 まあ、なんと、たいへん大きな刺激となりました。 川幡さんの発表がすごかった。これだなあ…と。 とりあえず、覚えている事(印象に残っている事)を羅列。 Emacsには、プログラミング言語として、elispの他に…

フレームを半透明にする

Emacs23であれば、Window Managerが半透明に対応していれば、フレームを半透明にする事が可能です。 Linuxだと、Compiz?Beryl?あたり、もしくは、Window Manager(というか、デスクトップ環境?)にXfce4を使えば可能かと思います。 # Xfce4上で試しました。…

HTMLをS式に変換する : html-parse.el

XMLをS式に変換するxml-parse.elというものがあるのですが、これをHTMLでも使えるように改造してみました。 # 元々xml-parse.elは、対象がhtml文章でも変換はできちゃうけど、結果はやはりおかしくなる。 html-parse.elの使用方法は、xml-parse.elと同様で、…

Imenu for Info

Infoを見ていて欲しくなったので、Info用にimenuをでっちあげてみました。 imenuとは、ミニバッファから選んだ語句(バッファから抜き出したメニューとなる語句)の場所に飛ぶ事ができる関数です。このエントリを書くために調べたところ、(少くとも)Emacs21以…

Emacsを最大化する

emacs起動時にコマンドライン引数に「--fullscreen」オプションをつけるとemacsが最大化して起動されますが、それを起動してからできないか調べてみました。 使用しているEmacsのバージョンは、23.1.50.2です。OSは、Debian GNU Linux sidを使っています。 …

ruby-block.elのバグを修正

ruby-block.elとは、Emacs上でRubyのコードを編集するとき、ポイントがRubyの予約語end上にあるとき、それに対応するキーワード(defとかifとか)がある行をハイライトするelispです。 defined?があるとおかしくなるというご報告と、それに対する対処法を頂い…

text-translatorを更新

text-translatorとは、Emacs上でネット上にあるテキスト翻訳サービスを利用して、テキストの翻訳をするelispです。 更新と書きましたが、更新といっても、動かなくなっていたサイトがいくつかあったので、それを修正しました。 長い間放置して、申し分けあり…

C-o(open-line)に負引数を与えた場合、現在行の上に改行を入れるように拡張する

open-lineはポイント位置はそのままに改行を入れてくれる関数。自分は、C-mよりよく使ってるかもしれない。 正の前置引数を与えると改行を複数入れてくるのだけど、負だと動作しないから、拡張してみた。 例えば、以下のようなファイルがあったとして、rの後…

*scratch*バッファを自動保存する

twitterで、*scratch*バッファで作業してて、間違えてC-xC-c押してうがーとなったと書いたら、 バッファがkillされるときと、emacsが終了するときに自動保存すべきというつっこみをいただき、まさにその通りだと思ったので実装してみました。 例によって対し…

日本語を考慮してforward-word

最近twitterでつぶやいてばっかで書いてなかった超久々日記。 forward-wordで漢字/ひらがな/カタカナをきっちり分けて飛べないのが気になったので、なんとなく作成。用途不明。 dabbrev-ja.elを超参考にして作成。 あんまりテストしてないけど、とりあえず動…

text-translator:freetranslationとfresheyeが使えなくなっていた件を修正

かなり放置してしまってすいません. freetranslationの形式全部とfresheyeの日本語←→英語相互が動かなくなっていた件を修正しました. 報告して下さったid:fishnfins0さん,誠にありがとうございます. ダウンロードはいつもの以下のエントリからお願いしま…

ruby-blockバグ修正

ruby-blockが対応を見付ける機構があまりにバグバグだったので直してアップしておきました. 久々にRubyを使ってみて「アレ?対応取得できてねえ」と気付いて焦って直しました. 問題は, faceの取得部分でした. もっとちゃんとテストすべきだな, ホント. 毎回…

Emacs23における変更点(一部)

ちょっとだけ訳してみた. 手元の版のEmacs23のNEWSファイルおよそ1300行分の260行目ぐらいまで. # Startup Changes in Emacs 23.1の前まで. 完全な最新のEmacs23というわけじゃないから抜けてるのもあると思われ. あと辞書と機械翻訳をちょいちょい使いなが…

Livedoor readerをEmacs内で見たい…

タイトルのとおりLivedoor readerをEmacsで見たいと思って最近elispをいじってた. でも, さすがにこればっかやってるわけにもいかないと思ってとりあえず途中経過をペタリ. http://www.oti-orz.mydns.jp/~khiker/file/elisps/ldr-0.0.1a.tgz http://www.oti-…

text-translator:色々なサイトが使えなくなっていた件を修正

altavista/fresheye/livedoorの3つが動かなくなっていた件を修正しました. fresheyeは正規表現の修正. livedoorはPOSTする値の修正です. altavistaはなくなりました. 「301 Moved Permanently.」とか出ててなんじゃらいホイと思たら, どうもyahoo.comになっ…

文字を左から右とか右から左に流してみる

昨日の続き的感じで. まずは左から右に文字を動かしてみる. 左から右はすぐにでけた. (let* ((face 'highlight) (defstr "ほげ") (loops (- (window-width) (string-width defstr))) ep) (save-excursion (goto-char (window-start)) (forward-line 1) (setq…

画面上の最初の行とか最後の行をオーバレイしてみる

なんとなくやってみた. 意外と簡単だった. これで画面上の最初の行にメッセージを表示したりとかもそんなに苦労せずに作れるはず. 画面上の最初の行をオーバレイ まずは画面上の最初の行をオーバレイする. 本当の意味での最初の行じゃなくて, 画面上の最初の…

gtk-look.el

もうちょっといじってから書こうと思ってたけどどうにも今の状況じゃ当分先になりそうだから今のうちにメモの意味も込めて書いとく. GTK+(GIMP Toolkit)なりlibwnckなりの関数・変数のヘルプを引くことができるelisp. LinuxなんかでCあたりでGUIプログラミン…