でらうま倶楽部

バカってゆうか、ゲームを作る事しか能の無いプログラマの、面白おかしな日々を綴ってみる実験。

設定

Emacs 補完バッファやHelpバッファを最短入力で消し去るマクロ

photo都内は桜が満開!

ゆうべからの強風で散ってしまわなければいいんだけど…。

最寄り駅でもある国立。桜を楽しむにはかなり恵まれた場所だったりもするんだなこれが。

目抜き通りにどばーっと桜が立ち並んどって壮観!(てれびのうけうり)

そんな春模様ですがー。

あいかわらずEmacs22.3の設定をチマチマと。
絶妙に飽きのこないオモチャだなこれは。

diredバッファや補完バッファやHelpバッファなんかを キー入力一発で確実に削除する設定&マクロ。特に補完バッファとHelp。閉じたつもりが裏で残ってて、バッファ切り替えの時に非常に邪魔だったので、それ対策のつもり。さて。
 
(defun my-quit-buffer()
  "ウィンドウを閉じつつコマンドも中断"
  (interactive)
  (kill-buffer (current-buffer))
  (and (not (one-window-p)) (delete-window))
  (abort-recursive-edit))

(defun my-quit-view-buffer()
  "view-modeのバッファを閉じる"
  (interactive)
  (kill-buffer (current-buffer))
  (and (not (one-window-p)) (delete-window)))

(define-key completion-list-mode-map "q" 'my-quit-buffer)
(define-key view-mode-map "q" 'my-quit-view-buffer)
(define-key minibuffer-local-map  [f2] '(lambda () "minibufferでimenuを起動させない" (interactive)))

(defun dired-mode-hooks()
  (local-set-key "q" '(lambda () "diredを終了してバッファも閉じる" (interactive) (kill-buffer (current-buffer)))))
(add-hook 'dired-mode-hook 'dired-mode-hooks)

(defun emacs-lisp-mode-hooks()
  (setq comment-start "; "))
(add-hook 'emacs-lisp-mode-hook 'emacs-lisp-mode-hooks)


hook関数では他にも色々設定してますが、ま、抜粋という事でご理解ください。

見た通り、見たら判る系の単純なマクロ。でも、kill-bufferしたりする余計な手間が無くなって操作ストレスも減りまくり。
特に、diredで深いディレクトリを移動した後に作られた大量のバッファを q キー入力で次々削除できるのはある意味快感。

あと、ミニバッファ入力中にimenuを実行すると、以降imenuが使えなくなってしまう不具合への対処も。キーバインドは適当に読み変えてちょ。

そしてそして、自動的にインデントしてコメントを付けたり外したりできるcomment-dwim。
Lispモードでのコメント「;」の後ろに一文字空白を入れるには、comment-startを設定すればよいという事実も発見。

ニッチな方向へ爆走中だなこれは。

Firefox3.6って実はメモリ大喰らい?なんとか矯正する手掛かりを探す。

photo1
もうね…彼(彼女?)ホンマ大喰らいなんですよ。

「もうねぇよ!」っつってるのに、「よこせーよこせー」ってテーブル叩くんす。


なんか、Firefox3.6って何気にメモリ食いません?
最初のうちは大したことないんだけど、2、3日立ちあげっぱなしで使ってるとどーもね。

ノートPCだから基本電源切らないし(スリープや休止)、ブラウザは終了しない方なんですが、気づくとページファイルが余計に300MB以上確保されてる感じ。

これ、メインメモリが512MBのノートPCだと正直しんどい。

んで、いろいろ調べてみた結果…about:config画面で以下の設定を変更してみました。

browser.cache.offline.capacity:128000
browser.sessionhistory.max_total_viewers:2

でもどっちも正直効き目薄。

FirefoxといいThunderebirdといい、メジャーアップデート後は、ずっと使ってるとメモリ消費が激しい雰囲気。about:memory画面の見方もよくわからん。

誰か詳しい人、このへんの情報教えてください…(涙)

Emacs せっかちさん向けの設定?

Emacsを使ってるとしょっちゅう「あれ?今オレC-xって押したよな?」ってなります。

ちょっと待つとミニバッファに、C-x- とか C-c- とか表示されますが…そのちょっとの間が待てない!もう指が勝手に動いてます(笑)

そんなせっかちさんは、.emacsに以下のように書くと解決。入力中のキーストロークをミニバッファに表示するまでの時間が設定できます。ちなみに0だと無表示。

(setq echo-keystrokes 0.2)

あ~スッキリ!

Emacs 設定小ネタ集

小ネタが続くよEmacs。

(setq gc-cons-threshold 800000)
ガベッジコレクションを起こす閾値。この値を大きく設定すると、GCの回数が減って、Emacsの処理速度が向上しますが、常駐メモリ量も増えるので注意。

(temp-buffer-resize-mode 1)
ヘルプ画面や補完リストを表示するバッファの高さを自動的に調整。

(add-hook 'temp-buffer-show-hook
          '(lambda ()
             (setq scroll-margin 0)
             ))

そのバッファが表示された時に実行されるフック関数。scroll-marginを0にしとくと、余計なスクロールが無くなって吉。


(global-set-key (kbd "C-x <left>") 'hoge)

ショートカットキー表記を、ヘルプとほぼおんなじに書けるマクロを発見。詳細はこちら(英文)

標準よりよっぽど直感的にキーバインドを表記できて便利なのに、なんでこれが普及してないのかが不思議。さいきん導入された?
記事検索
電子書籍発売中

「チュートリアル形式で始めるOpenAL」
サウンド怖くない。C++による8つのチュートリアルで始めるOpenALプログラミング。さああなたも、自作アプリに魅力的な音効を添えてみませんか??
⇒Kindle版 ⇒iBooks版


「iPhoneアプリ『ういろう』のレシピ」
ゲームってどうやって作ってるの?? 拙アプリ『ういろう』の製作過程を本にまとめました。もちろんソースコードつき
⇒Kindle版 ⇒iBooks版


『チュートリアル形式で始めるOpenGL[2D編]』
OpenGL怖くない。C++による16のチュートリアルで始めるOpenGLプログラミング[2D編]。さああなたも、ゲーム作りを始めてみませんか?
⇒Kindle版 ⇒iBooks版
自作ゲーム配信中

『Puzzle & Monarch』
「君主候補となって国作り!! ただし制限時間は90秒。」森を作って道をつないで...あなただけの国を作ってみませんか??
⇒AppStore


『BRICK & TRIP』
咄嗟の判断に、あなたの指先はついてこれるか?! 爽快フリックアクション!! 様々な難関をくぐり抜けて旅の終着点を目指そう!!
⇒AppStore


『ういろう』
名古屋土産ういろうがiPhoneで大活躍?! 白ういろうを守れるのはあなただけ。ひゅーん、ぼよよーん!!
⇒AppStore ⇒LITE版


『こなへん』
ヒマラヤ山脈、大西洋、世界で一番深い湖… それって地球のどこにあるのか知ってるかな?『全方位直感地理クイズ』という新ジャンルに挑戦!あ、それ。地球をくーるくるw
⇒AppStore ⇒LITE版


『GEOSPOT』
ヒマラヤ山脈、大西洋、世界で一番深い湖… それって地球のどこにあるのか知ってるかな?『全方位直感地理クイズ』という新ジャンルに挑戦!あ、それ。地球をくーるくるw
⇒Windows ⇒Mac


『TieGunner』
マウス片手に大宇宙へ飛び立とう!『しっぽシューティング』というジャンルを作って頂きました^^; WinでもMacでも動きます。ソースもあるでよw
⇒Windows ⇒Mac
QRコード
QRコード
  • ライブドアブログ