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 ...
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)
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 ...
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 ...
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 ...
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.
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 ...
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 ...
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-...
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
To include the speedbar in the main frame, use the sr-speedbar library - M-x package-list-packages, look for sr-speedbar, then hit i then x to install it.
To turn it on and off, call sr-speedbar-toggle - then you can bind it to a convenient key in your .emacs file, e.g.
(global-set-key (kbd "M-1") 'sr-speedbar-toggle)
With a little tweaking you can get ...
Please have a look at the variable org-link-frame-setup. In its documentation string you'll find the searched for information.
You might do this with the keyboard sequence C-h v and then typing above name.
The variables split-height-threshold and split-width-threshold can be customized to control how the function split-window-sensibly behaves:
https://www.gnu.org/software/emacs/manual/html_node/elisp/Choosing-Window-Options.html The variable split-window-preferred-function has a default value of split-window-sensibly, the former of which is used by window--...
Here is a bare-bones minimum viable function, which I hope does what you want.
(defun wjh3pane-create-3pane-layout ()
"Create 3-pane layout of windows in the current frame.
Layout is as follows:
| source code buffer |
| source code buffer |
| source ...
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 ...
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, ...
The function at issue is pop-to-buffer, which is called within xref--show-xref-buffer. The variable xref-show-xrefs-function is set with the default value of xref--show-xref-buffer. Thus, it is relatively simple to set the variable xref-show-xrefs-function to a user-defined function. The example below replaces xref--show-xref-buffer with a new function ...
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-|"
Here is another opinionated implementation, it assumes 2 windows layout and isn't as sophisticated as append-to-buffer, the point is Emacs is very easy to extend.
(defun my-copy-to-next-window (b e)
"Copy text in the region to next window."
As @lawlist said in a comment, you can use dedicated windows. A simple way to do this is to customize special-display-regexps to the list (.*), that is, a list with a regexp that matches all buffer names.
[Do not be bothered about the fact that help about special-display-regexps tells you that it is "obsolete since 24.3". It is super simple and works ...
The command to open the list of buffers that you want is list-buffers. It is bound to C-x C-b by default.
Put this in your init file, or use M-x customize-option RET special-display-buffer-names to customize the variable to include an entry for buffer *Buffer List*:
(add-to-list 'special-display-buffer-names "*Buffer List*")
Then the buffer list will be ...