If you bind it like this:
(global-set-key "M-p" 'ace-window)
You can switch to window 2 by pressing M-p 2. Also, you
can delete window 2 by pressing M-p x2: this will bring you
into your first example. Other examples follow by just changing the
There are other modifiers present:
Use x to delete
Use m to swap
Use v to split ...
If you don't like how help-window-select works you can simply use this code:
You can change "*Help*" with a regexp matching other buffer names if you want to also affect apropos windows or shell
The function delete-window has an optional argument WINDOW.
The function window-in-direction has a mandatory argument of DIRECTION and optional arguments for WINDOW IGNORE SIGN WRAP MIN. To learn more about these arguments by reading the doc-string, a user may type M-x describe-function RET window-in-direction RET.
For example, the following four ...
C-z will bring up a new buffer with actions available to helm, and I see the following:
[f1] Open file
[f2] Open file other window
[f3] Save results in buffer
[f4] Edit search results
So you want C-z f3
After this you can move around the results like a regular buffer, and if you have two windows up, hitting RET on a result entry will open the entry in the ...
C-x 3 is bound to the function split-window-right, that splits the current window horizontally, selecting the left window. We can define a function split-window-left that calls it then change the selected window to the one on the right, eg using other window:
other-window is an interactive compiled Lisp function in ‘window.el’.
(other-window COUNT &...
add this to your .emacs file
set it up manually any time: C-x 3 C-x o C-x 2 C-- C-x o
consider using one of those window manager extensions, like edwina, if your requeriments become more complex.
Any option you choose taking a look to C-h i m emacs [RET] m windows ...
I use a combination of two different tools for project management:projectile, for switching between projects, and perspective, for managing frames within a given project. (The two also integrate well, allowing switching between project states.)
Note that understanding the language in use, in Emacs, is always a function of the mode(s) Emacs loads for a ...
You can define your own command for this. This allows you to use it when desired, but not change the default behavior of the original commands, keeping them useful individually if desired:
(defun my/split-window-evenly ()
(global-set-key "\C-cb" 'my/split-window-evenly)
You can roll your own as @Tyler suggested, but there are some packages that support this. Check out the transpose-frame package on MELPA: https://melpa.org/#/transpose-frame
This handles the simple 2-window case, but can also handle more complex arrangements where you flip or rotate the windows around.
Yes, it is.
(split-window (frame-root-window) (truncate (* (window-total-height (frame-root-window)) 0.75)) 'below)
The crucial part is (frame-root-window) which returns a window spanning the whole frame.
In order for desktop-read (the function used to restore your desktop from a file) to restore the frameset that was saved in the desktop, it must call desktop-restoring-frameset-p (i.e., "should I restore the saved frameset?"), which in turn checks the function display-graphic-p (i.e., "is this a GUI or a TTY?"). This essentially means that, even though ...
This appears to be a change in the way completion windows are created/removed. You can avoid it by setting window-combination-resize to t:
(setq window-combination-resize t)
The current default behaviour for completion buffers is to take all of the space needed from a single window. If this isn't enough to show all the completions, the window is enlarged ...
In my experience this is a harder problem that one might think, because one's intuitive idea of what is sensible is not always easy to put in precise terms. I'll just describe what I've ended up with, but you may have to fiddle around.
First: the existing split-window-sensibly function always prefers to end up with a horizontal stack of windows (which, ...
If you really want that, just define your own command to do it. You can copy the code for what mouse-2 is already bound to, dired-mouse-find-file-other-window, and just change the occurrence of find-file-other-window to find-file. Then bind your command to mouse-2, in place of dired-mouse-find-file-other-window.
The only changes I made here are (1) the ...
What you want to achieve might be tricky (if not impossible) to achieve. But it seems that all you want is to keep the helm-sources (the helm window) and the minibuffer in same direction so that you can view them without have move your eyes around much. I think this can be achieved using on of the methods below
1) Customize helm so that the "helm window" is ...
You could use display-buffer-alist and dispatch on the executed
command, like this.
'((lambda (&rest _)
(memq this-command display-buffer-same-window-commands))
A little late, but because I also searched for this and could not find a ready solution:
You could define your own split-window-sensibly function.
To do so, put the following in your init.el:
(setq split-height-threshold 120
(defun my-split-window-sensibly (&optional window)
"replacement `split-window-sensibly' ...
other-buffer takes an optional third argument that says it's
okay to use buffers visible in other windows. The relevant bit of
(other-buffer &optional BUFFER VISIBLE-OK FRAME)
Return most recently selected buffer other than BUFFER.
Buffers not visible in windows are preferred to visible buffers, unless
optional second argument ...
The user option which determines whether a Buffer Menu is displayed is inhibit-startup-buffer-menu:
inhibit-startup-buffer-menu is a variable defined in ‘startup.el’.
Its value is nil
Non-nil inhibits display of buffer list when more than 2 files are loaded.
You can customize this variable.
If you set it to t in your user-init-file or ...
It's been happening to me ever since I installed Emacs + Spacemacs.
After a year, I decided to fiddle with M-x customize group minimap, and just found out that the 3rd option from top to bottom, "Minimap Automatically Delete Window: [Toggle] off", did the trick.
Now it's possible to C-x o between visible buffers.
Edit: However, C-x o may allow switching ...
I've not tried the transpose-frame package so I don't know how it compares, but I use the package https://melpa.org/#/rotate . Combined that with https://melpa.org/#/smartrep using the config:
(setq smartrep-mode-line-active-bg nil))
(smartrep-define-key global-map "C-|"
Emacs is doing what you are asking it to do, unfortunately.
https://www.emacswiki.org/emacs/TransposeFrame is a package which allows you to flip the contents of your frame along the horizontal or vertical axis, or to rotate your frame (which is what you are asking for).
I find this reasonably useful, so have bound it to a key:
(global-set-key [C-S-f6] '...
You can use the popwin.el or shackle.el emacs package or the emacs native display-buffer https://gist.github.com/tonini/0d3f9433b214044a870e
;; Display alchemist buffers always at the right side
;; Just change (side . right) with the position you would like 'bottom, 'top, 'right or 'left
;; Source: http://www.lunaryorn.com/2015/04/29/the-power-of-display-...
Consider using Emacs bookmarks, with Bookmark+, including, in particular:
Bookmark-file and Bookmark-list bookmarks.
Dired and Dired-tree bookmarks. Search for "dired" in the Bookmark+ doc. There are 100 hits, as there is great synergy between Dired - in particular Dired+, and bookmarking.
Bookmark tags. Ad hoc tags let you organize ...
I've been using the following for a long time. You might need to edit it to accommodate your own preferred style.
;; The default behaviour of `display-buffer' is to always create a new
;; window. As I normally use a large display sporting a number of
;; side-by-side ...
I doubt that using a dummy function which always returns nil as split-window-preferred-function is what you should be doing, but since it otherwise works for you, here's how you can tell magit-popup to use the default splitter function:
(advice-add 'magit-popup-mode-display-buffer :around