I have (setq helm-always-two-windows t). When invoking a helm buffer i.e helm-find-files or helm-mini with 2 vertical splits helm deletes the other window in preperation to perform a possible persistent action in the currently selected window.

Is there any way to stop helm deleting the other window and preserve the 2 vertical splits when the helm buffer is opened?

ido-mode along with ido-vertical-mode seems to have the exact behaviour I'm after with vertical splits as it has no need to accommodate a persistent action.

1 Answer 1


Below is part of docstring of the user option helm-always-two-windows:

When non--nil helm will use two windows in this frame. That is one window to display ‘helm-buffer’ and one to display ‘helm-current-buffer’.

So (setq helm-always-two-windows t) won't do what you want.

Here is a work-around by using shackle

(setq helm-display-function #'pop-to-buffer)

(setq shackle-rules '(("\\`\\*helm.*?\\*\\'" :regexp t :align t :ratio 0.46)))

Note, the only downside that I know is helm's full-frame won't work anymore, e.g., helm-top won't use full-frame.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.