ãã«ããããã¡ãè£å®ãããã¡ããããã¢ããã§è¡¨ç¤ºãã¦ãããpopwin.elããªãªã¼ã¹ãã¾ãããpopwin.elã¯Emacsã«ãããã¢ããã¦ã£ã³ãã¦ã¨ããæ¦å¿µãå°å ¥ãããã¨ã«ããããããã¡ã表示ããï¼display-bufferï¼éã®Emacsã®ããçã£ã仿§ãç¯æ£ãã¾ãããã®ãããçã£ã仿§ãã¨ã¯ä¾ãã°ã
- M-x describe-functionãããã¦ã£ã³ãã¦ãåæã«åå²ããã
- ãããã¯ã¦ã£ã³ãã¦ã®ãããã¡ãåæã«åãæ¿ãããã
- ãã«ããããã¡(*Help*)ã¨ãè£å®ãããã¡(*Completions*)ãã©ã®ã¦ã£ã³ãã¦ã«åºç¾ãããäºæ¸¬ã§ããªã
- ããã使¥å¾ã«ãããã®ãããã¡ã表示ãããã¾ã¾ã«ãªã£ãããã
ã®ãããªãã®ãæãã¾ããEmacsã触ã£ããã¨ããã人ãªãä¸è¨ã®ããããã¯ä¸æºã«æã£ããã¨ãããã¯ãã§ããã¡ãªã¿ã«åã¯å ¨ã¦ã䏿ºã«æã£ã¦ãã¾ãã
ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました - Functional Emacser
ã¾ãã«ï¼ï¼ã£ã¦ãã§æ©éå ¥ãã¦ã¿ããã§ããããã¶ãå¿«é©ã§ãã
(if (require 'popwin nil t) (progn (setq display-buffer-function 'popwin:display-buffer) (setq popwin:popup-window-height 0.4) (setq anything-samewindow nil) (push '("*anything*" :height 20) popwin:special-display-config) (push '(dired-mode :position top) popwin:special-display-config) (push '("\\*[Vv][Cc]" :regexp t :position top) popwin:special-display-config) (push '("\\*git-" :regexp t :position top) popwin:special-display-config) ))
ãã¨æ¬å®¶ git ä»å±ã® git.el ã使ã£ã¦ããã§ãããgit-status ã§ switch-to-buffer ãããªã㦠display-buffer ããããã«ãã¦ã
--- git.el.orig 2011-03-02 19:05:12.000000000 +0900 +++ git.el 2011-03-02 19:09:50.000000000 +0900 @@ -1667,7 +1667,7 @@ (if (file-directory-p (concat (file-name-as-directory dir) ".git")) (let ((buffer (or (and git-reuse-status-buffer (git-find-status-buffer dir)) (create-file-buffer (expand-file-name "*git-status*" dir))))) - (switch-to-buffer buffer) + (display-buffer buffer) (cd dir) (git-status-mode) (git-refresh-status)
popwin ãå¹ãããã«ãã¦ãgitç³»ã¨vcç³»ã®ã¯ãã¬ã¼ã ã®é«ãã® 40% ã®ãããã¢ããã¦ã£ã³ãã¦ããã¬ã¼ã ã®ä¸é¨ã«è¡¨ç¤ºããããã«ãã¦ã¾ãã