helmのbufferをVisualStudioの自動的に隠すウィンドウっぽくする
2画面分割とhelm
私のEmacsの使い方は、フルスクリーンでC-x 3
で左右に分割した2画面固定スタイルです。
このとき、helmを使うとhelmの候補選択bufferが、既存のbufferを使いまわしたり、上下分割状態になったりと悲しい動きをします。(私の環境だけ?)
こんなかんじ:
私の理想とする動きは、VisualStudioの自動的に隠すウィンドウのように、左右分割したbufferに乗っかって画面下からニョキっと出てくれると嬉しいのです。
こんなかんじ:
実現手段 : popwin.elを使う
popwin.elはEmacsのbuffer管理上でpopup windowのようなbufferを実現するパッケージです。
melpa-stableからpackage install popwin
できると思います。
こいつを使うと指定のbuffer名のbufferがdisplay-bufferされたとき、他のbufferに乗っかる形のbufferを作ってくれます。
詳しくは作者様のページへ[Emacs] ヘルプバッファや補完バッファをポップアップで表示してくれるpopwin.elをリリースしました
これで万事OKなのですが、もう1点。
helmのdisplay-bufferは独自のものみたいで、popwinのフックに乗りません(詳しいことはわかりませんが)
なのでhelm独自のdisplay-bufferを標準のに上書きします。
(setq helm-display-function #'display-buffer)
設定例
helm-pop.el
;; helm bufferをpopupする
(setq helm-display-function #'display-buffer)
(when (require 'popwin)
(setq display-buffer-function 'popwin:display-buffer)
(setq popwin:special-display-config
'(("*complitation*" :noselect t)
("helm" :regexp t :height 0.4))))
;; helmをbuffer名に含んでたら良いので、これだけでhelm-M-x,helm-find-files等に対応できます
おわりに
;; helm bufferをpopupする
(setq helm-display-function #'display-buffer)
(when (require 'popwin)
(setq display-buffer-function 'popwin:display-buffer)
(setq popwin:special-display-config
'(("*complitation*" :noselect t)
("helm" :regexp t :height 0.4))))
;; helmをbuffer名に含んでたら良いので、これだけでhelm-M-x,helm-find-files等に対応できます
もしかしたらhelm使ってる皆様に於かれましては常識ですかね?
Author And Source
この問題について(helmのbufferをVisualStudioの自動的に隠すウィンドウっぽくする), 我々は、より多くの情報をここで見つけました https://qiita.com/fujimotok/items/164cd80b89992eeb4efe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .