@kyanny's blog

My life. Opinions are my own.

Emacs

~/.emacs.d 以下を整理した

今日は ~/.emacs.d 以下を整理した。 init-loader.el を今更導入して ~/.emacs.d/init.el に全部書いてた設定用の elisp をいくつかのファイルに分けた。もともと個別管理してた時期があって init.el のなかで (load "hoge.el") みたいなのを何個も書いてた…

Emacs Lisp で URI escape/unescape

url-util.el の url-hexify-string と url-unhex-string でできる。interactive がついてないのと名前が覚えづらいのでちょっとしたときに気軽に使えるかなと思ってラッパー関数を書いた。 Perl の URI::Escape 風の名前にした。 interactive の使い方を少し…

anything-project.el, smartchr.el, sequential-command.el などをいれた

久しぶりに Emacs カスタマイズ欲が出てきたので芋づる式にいれた。anything-project.el はもっと巨大なものかと思ってて躊躇してたけどぜんぜんそんなことなかった。 ido-mode.el に比べたら当然はるかにまともで good なんだけど正直あまりにも大きなもの…

rhtml-mode をいれた

emacs-rails 使ってたけど ERB なテンプレートで <% とかがインデントされないのがうざいなーと思ってて一年以上放置してたんだけど気合を入れていじらないと厳しいテンプレートを触ったので重い腰をあげて rhtml-mode を導入した。これは Rinari の一部って…

dired-mode 中にサブディレクトリが表示されてしまったとき戻す方法

サブディレクトリのほうの一番上(ディレクトリのパスが書いてある行)で C-u k で消える。意図せず押してしまって戻し方がわからなくて、しかも個別の関数になってないせいで調べるのが困難なので、この機能を殺してしまうのがよい気がする。 (defun dired-…

おれの eshell の設定

21世紀の1/10が過ぎたにもかかわらず未だに eshell をメインのシェルとして使ってる刺身☆ブーメランですこんにちわ。http://oldtype.sumibi.org/show-page/kiyoka.2011_02_22#10 に触発されておれの eshell の設定をさらしてみる。もともと GitHub にあるけ…

js2-mode のバイトコンパイルに失敗するときは --batch を使え

Google Code Archive - Long-term storage for Google Code Project Hosting. より。js2-mode はバイトコンパイル必須だけど、 .emacs などで js2-mode をロード済みの状態でバイトコンパイルしようとすると失敗してしまうことがあるらしい。なので .emacs …

Dictionary.app を Emacs から引く

すでにいろいろやり方が書いてあるので、やってみた。 http://sakito.jp/mac/dictionary.html http://d.hatena.ne.jp/tomoya/20091218/1261138091 http://d.hatena.ne.jp/tomoya/20100103/1262482873 俺の環境 (Mac OSX Leopard) だと dict.m がコンパイルで…

perl-completion をインストールした

公式配布ページ EmacsWiki: Perl Completionとりあえず M-x auto-install-from-emacswiki RET perl-completion.el で。設定は以下のようにした。 auto-complete と連携させる。 ;; perl-completion (add-hook 'cperl-mode-hook (lambda() (require 'perl-com…

RSense をインストールした

公式配布ページ http://cx4a.org/software/rsense/index.ja.html マニュアル http://cx4a.org/software/rsense/manual.ja.html $ curl -O http://cx4a.org/pub/rsense/rsense-0.3.tar.bz2 $ tar xjf rsense-0.3.tar.bz2 $ cd rsense-0.3/ $ chmod a+x bin/rs…

auto-complete をインストールした

公式配布ページ http://cx4a.org/software/auto-complete/index.ja.html マニュアル http://cx4a.org/software/rsense/manual.ja.html $ curl -O http://cx4a.org/pub/auto-complete/auto-complete-1.2.tar.bz2 $ tar xjf auto-complete-1.2.tar.bz2 あとは…

emacs-23.2 + experimental/hackers-only patch をビルドした (emacsclient がない)

少し前に CocoaEmacs(Emacs23) で fullscreen 機能を利用する - sakito - Emacsがすきすぎる - Emacsグループ を読んで、 kayac bm11 版以外にも Emacs をフルスクリーンにする方法があると知ったので、試してみたかった。Emacs23 (Cocoa Emacs) 入門から中…

SLIME と emacs-w3m を ~/.emacs.d/ 以下にインストール

MacPorts で入れたり sudo make install したりしてたけど、なんか気持ち悪いので ~/.emacs.d/ 以下に入れるように変えた。SLIME のほうは単純に ~/.emacs.d/slime に CVS から co してきて load-path に追加するだけ。これはあとで SLIME memo を更新しよう…

anything 中に anything を起動しないようにキーバインドを修正した

(define-key anything-map (kbd "C-;") 'anything-exit-minibuffer) として解決。以下、経緯とか何をして結論にたどり着いたかなどをダラダラと書く。俺は C-; を anything に割り当てている。数日前に anything.el ほかを auto-install-batch でアップデー…

特殊なキーを含むキーバインドを変更したいときの設定方法と調べかた

Emacs で「このキーバインド上書きしたいなぁ」と思うことがよくあって、でも "\C-x" とか (kbd "x") とか "M-" とかいろんな表現があるけどどれが正しいのかどれがちゃんと動くのかよくわからないし検索しづらくて困ることが多かったけど、簡単で確実なやり…

起動時のスプラッシュ画面をもう一度表示するには

Emacs 起動時のスプラッシュ画面を消す方法はちょくちょく見つかって、これ (setq inhibit-startup-screen t) で表示しないようにできるのだけど、消しちゃった画面をもう一度表示したいときはどうするか。 (display-startup-screen) でできる。 display-sta…

Variable binding depth exceeds max-specpdl-size エラーと Lisp nesting exceeds max-lisp-eval-depth エラーの解決方法

家の Macbook で js2-mode をバイトコンパイルしてたら、 Variable binding depth exceeds max-specpdl-size というエラーと Lisp nesting exceeds max-lisp-eval-depth というエラーが出てバイトコンパイルが途中で止まってしまったので調べた。Variable bi…

js2-mode がよさげ (espresso.el 他追記あり)

Javascript をバリバリ書きたくなったのでちゃんと major-mode を設定しようと思い、調べたらイマドキは js2-mode がいいらしい。なんか Google の中のひと (Ruby on Rails を Javascript に移植しただとかで有名なプログラマ) が作ったとかなんとかで、定評…

Re: anything.el の導入障壁を下げるには

Twitter で id:rubikitch さんがつぶやいてたのに半日遅れて反応してみる。 anything.el 歴三ヶ月の俺が言うのもアレだけど。 デモ動画と anything-users.jp 試してみたけど挫折した人向け。俺も過去に三四回くらい anything.el に挑戦してろくに使えず挫折…

color-theme-ir-black を fork してちょっとだけ変えてみた

IR_Black な color-theme を使ってみた - 刺身☆ブーメランのはてなダイアリー でいれた color-theme-irblack をいじって anything したときにハイライトされる行(いまカーソルのある行)が見えづらいのをなんとかした...んだけどもっとよさそうな color-the…

IR_Black な color-theme を使ってみた

配色が気に入ってかつ見やすいテーマがなくて前から悩んでいて、 Vim の IR_Black いいなー (h2u_black も) Emacs 用どこかにあると思うけどなーと思ってて見つけられなかったのだけど、今日ついに見つけたので使ってみた。GitHub - dz/ir_black_emacs: The …

kayac bm11 版 Cocoa Emacs を使ってみた (Intel 32bit が落ちる)

Snow Leopard だと MacPorts の emacs-app はパッチを二つばかり当てないとビルドできないし、起動もすごく遅いので、 ns-toggle-fullscreen つきの kayac bm11 版を使ってみた。 面白ラボBM11(ブッコミイレブン) 2009: カヤック特製 Emacs これ。ビルド済み…

Mac OSX 10.6 (Snow Leopard) で MacPorts の emacs-app がビルドできない => 要パッチ

コンピュータを使いこなそう: Emacs from MacPorts 2 に書いてあるとおり、パッチをぐぐってきて拾ってあてたらビルドできた。でも activate ができなかったので sudo port -f activate emacs-app した。なんか古いファイルが残ってて上書き警告みたいなのが…

俺に贈る、モダンな Emacs の環境設定の仕方

自分用のメモです。 先に結論 以下の手順を http://github.com/kyanny/emacs-config/blob/master/README にまとめたので、手順に沿ってやれば環境構築できる。 auto-install.el を手に入れる EmacsWiki: Auto Install の Installation of auto-install.el に…

Emacs Lisp のデバッガ edebug の使い方

pcomplete (programmable completion) の書き方 - 刺身☆ブーメランのはてなダイアリー で書いた pcmpl-lwp-request.el のデバッグをしているときに、便利な方法はないものかとおもってぐぐって見つけた edebug というのがとても便利だった。Emacs Lisp デバ…

pcomplete (programmable completion) の書き方

Emacs には pcomplete.el というものが付属しており、これはいわゆる bash-completion のようなものだが、 bash-completion ほど充実していなくて git などは補完できなかったので、自分でやってみた。まずいくつか読むべきファイルがある。俺の場合は /Appl…

anything.el で選択したものを別ウィンドウ(フレーム)で開かない設定

(setq anything-samewindow t)でいける!何度も忘れて困った・・・と思ったけどなんかうまくいかない。 GNU Emacs 23.0.60.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46, MacPorts の emacs-app-devel (@20091101), Cocoa を利用中。常に別フレームで…

バイト -> ギガバイトに変換する関数

ちょっと欲しくなったので書いてみた。 (defun gigabytes (n) (interactive "nBytes:") (message (number-to-string (/ n 1.0 1024 1024 1024))))1.0 で割らないと整数の割り算になって小数点以下が得られないのと、 message は文字列を受け取る関数なので割…

Emacs で編集中のバッファのタブをスペースに置き換える

M-x tabify, M-x untabify を使う。リージョンを指定するので C-x h とかで全部選択してしまうと楽。M-x tabify と M-x untabify - naoyaのはてなダイアリー 他、検索したらたくさん見つかった。素の Vi でてきとうにファイルを編集してタブでインデントされ…

M-x goto-line

今日やっと goto-line をみつけた。 Vim でいう 33G で 33 行目へカーソルをジャンプ、相当のもの。 http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/usr_03.html#03.5 いままで Emacs でこの単純でよく必要になる作業のやり方がわからなかったので、モー…