2009年2月22日日曜日

xyzzyのべんりすぷ(汎用編)

もともとこのブログを作った趣旨が「xyzzyでこんな関数作ったよ、見てね」 のつもりだったのに、最近まですっかり忘れていたような気がする今日この頃です。

Xyzzy Wikiに投稿するのもありなんですが、あまりに雑多すぎて分類に困りそうなのでブログの方にしました。(気が小さいなんて言えないです…)

普段使っている関数群なので、そこそこ枯れていると思います。
http://paste.lisp.org/display/75922

以下軽く解説

keyboard-quit
ほとんどquitと同じですが、マークがクリアされます。
kill-region(C-w)のうっかりタイプを防ぐ効果があります。(それでもたまに誤爆しますが)
リージョンを反転表示するrv-regionとの併用がおすすめ。
;; 載せるの忘れてた…
(global-set-key #\C-g 'keyboard-quit)
;; [ツール]->[共通設定]->[マーク行の行番号を反転]にチェック
(setq *inverse-mark-line* t)
shell-goto-bol
shell-modeにて、(point)がプロンプト文字($とか>とか#とか)より右側にあるなら そこまでバック、それ以外は普通の(goto-bol)を呼び出します。
comit-delchar-or-maybe-eof
同じくshell-modeにて、(point)がバッファの末尾ならプロセスをkillします。
current-word
Google検索など、interactiveで文字列を受け取る関数に使えます。
(defun google (str)
  (interactive "sGoogle: " :default0 (current-word t))
  (long-operation
    (shell-execute (concat "http://www.google.com/search?q="
                           (si:www-url-encode (map-internal-to-utf-8 str)))
                   t)))
no-filenames-error
*scratch*バッファでC-x C-sとタイプしてしまったイライラを軽減します。
保存はC-x C-wでいいよね。
(define-key ctl-x-map #\C-w 'emacs-write-file)
add-menu-revert
xyzzy Part7 >>804 より、文字コードを指定してバッファを開き直す項目をコンテキストメニューに追加します。 revert-bufferのGUI版みたいなものです。 ファイル名を持たないバッファだとエラーになるけど、まあいいかな。
backward-delete-word
主にミニバッファでディレクトリをひとつ上にするときに使います。
もっと豪華なものが欲しいですか?

今回はここまで。もう少し続きます。

0 件のコメント:

コメントを投稿