最近思いついたEmacs Tips
どれも日頃のEmacsの不便を少し解消できるはず。
現在のバッファをanythingの選択バッファを出さずに消したい
(defun my-kill-current-buffer (interactive) (kill-buffer (current-buffer))) ;;"Ctrl + Alt + k" (define-key global-map (kbd "C-M-k") 'my-kill-current-buffer)
anythingを使っているので少し環境は違いますが便利です。
これはバッファの状態がmodified*1ならキルするかどうかの質問が出ます。
キー操作は"Ctrl + Alt + k"
現在のバッファをanythingの選択バッファを出さず消す、かつ、バッファの状態がmodifiedであるかにかかわらず強制的に消したい。
(defun my-force-kill-current-buffer (interactive) (set-buffer-modified-p nil) (kill-buffer (current-buffer))) ;;"Ctrl + Alt + Shift + k" (define-key global-map (kbd "C-M-S-k") 'my-force-kill-current-buffer)
これは使うときかなり気をつけて使わないといけない関数ですが、とにかくバッファを消したい時に便利です。
auto-installの *auto-install http~*-wget のバッファを消したい
(require 'cl) (defun my-erase-auto-install-buffer () ;;(interactive) (dolist (buf (buffer-list)) (if (eq (string-match "^\\*auto-install " (buffer-name buf)) 0) (progn ;; (print "ok") (kill-buffer buf))))) ;;実行する (my-erase-auto-install-buffer)
init.elのファイルにコピペしておいて、実行するようにしておいたら*auto-installうんたらかんたらなバッファが消えてるのでそれなりに便利です。この関数の(interactive)を有効にしておけば必要なときにM-x my-erase-auto-install-bufferで呼び出せます。
*1:変更が加えられた状態。1文字でも入力したらmodifiedの状態になります。