Keep the point the same for evil-unimpaired/insert-space-above and
evil-unimpaired/insert-space-below.
Old Behavior
A newline<POINT>
\n
===== (evil-unimpaired/insert-space-below)
<POINT>A newline
\n
\n
New behavior
A newline<POINT>
\n
===== (evil-unimpaired/insert-space-below)
A newline<POINT>
\n
\n
With the introduction of `rspec` support in version 0.105.0
tests run with rspec launch in their own `rspec-compilation`
which is not managed in `spacemacs-base/init-popwin` causing
those compilations to open a new buffer and take over an exisiting
window.
It is preferable to have the test compilation open in a popwin
that does not disrupt the current state of a workspace layout and
takes advantage of the full width of the current editor view
so it's easier to read. Popwin is also nice because it is easier
to dismiss with a simple `C-g` or `SPC w p p`.
This commit restores the spacemacs/avy-open-url SPC x o keybinding,
and also adds spacemacs/avy-goto-url to the package :commands to fix the
missing function definition on the SPC j U keybinding.
A recent change in evil-jumper makes this unnecessary. The keys are now
bound as remaps, which means they have the same priority as the location
of the evil-jump-forward and evil-jump-backward commands. This is
exactly what this hack was trying to accomplish, so it's no longer
necessary.
Unless there is a valid reason why these shouldn't be included I think
we should keep them. after all we can yank with `v y` right?
squash! Add documentation
Key bindings should not be choosen given a package name, some helm
key bindings are under `SPC h` which are corrected the following way:
SPC h l for helm-resume to SPC r l (resume last completion)
SPC s l for last-search to SPC r s (resume search) (SPC s l is still
available)
SPC h L for helm-locate-library to SPC s L
Resolve#4592
Enable a hook in +distribution/spacemacs layer to enable bracketed-paste
in tty setups. This allows a better paste functionality in tty.
squash! Sort packages.
Bind it to `SPC h d d` as it's a way to describe a lot of elements:
- commands
- functions
- classes
- generic functions
- variables
- faces
- helm-attributes
Is also bound on `SPC F1` and will also stay there.
`SPC j j` is now for avy-goto-char (SPC SPC in 0.105)
`SPC j J` is for avy-goto-char-2
`SPC j s` is for splitting strings or sexps
`SPC j S` is for splitting strings of sexps, insert new line and indent
`SPC j n` is to split line at point, insert new line and indent
ivy-use-virtual-buffers was triggering recentf-mode to be called before
the recentf init function was called leading to problems with where the
recentf file was placed.
Background: `C-i` and `TAB` are the same keycode for historic reasons.
With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:
- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
to use the `C-i` (==`TAB`) keycode.
- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)
The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.
[1] 082bd65ccc/evil-maps.el (evil-maps.el-323)
[2] efaa841ca4/evil-jumper.el (L241)Fix#4505Fix#4487
Use mnemonic j for jumping commands. Although some of these commands
exist in other places, they are duplicated here when they don't
conflict.
Add:
1. jb for bookmark-jump
2. jc for avy char jump
3. jd for dired-jump
4. jD for dired-jump-other-window
5. jf for find-function-at-point
6. ji for spacemacs/jump-in-buffer (imenu)
7. jI for helm imenu in all buffers
8. jl for avy go to line
9. ju for avy-pop-mark (u for "undo")
10. jU for spacmacs/avy-goto-url
11. jv for find-variable-at-point
12. jw for avy go to word or subword
Move:
1. jh to j0 (push mark and go to beginning of line)
1. jl to j$ (push mark and go to end of line)
Having them in a minor mode map gives them precedence over other minor
modes. It's better to put the bindings in the same place as the original
evil jump commands which is the global motion map.
This make `SPC h SPC` as default binding for accessing `helm-spacemacs`,
by either A) changing all the documentation; and B) adding a deprecation
message for `SPC f e h`.
The deprecation use a warning, because if a message is used it's hidden
directly when the helm buffer is shown, making it nearly unnoticeable
for the user.
Given the intended behavior of having evil-lisp-state-map available
under SPC k, it is simplest to bind it directly to
spacemacs-default-map.
This requires no changes to evil-lisp-state itself.
Fixes#4151
evil-set-initial-state is safer than manually adding and deleting from
the lists, because it knows about all available states and ensures that
the mode only shows up in one list. If it is in multiple list the
initial state depends on which is checked first, which we don't want.
I've been introducing tons of people to Spacemacs, and most of them
always think that having to read documentation in how to add a layer is
too much.
I made this modification to make it easier to install layers.
This commit merge the `CONTRIBUTING.md` and `doc/CONTRIBUTE.org` file
into a new `CONTRIBUTING.org` file. It also refactors the content to be
more organized and make its navigation more goal-oriented.
Github displays a link to the `CONTRIBUTING.*` file when people are
opening new issues or proposing new PRs. This file is important because
it is the entry-point to contributions guidelines for most of the users.
The current setup is non-optimal, even broken, as it adds a level of
indirection, and points to a contributing file that has broken
links (due to the new documentation format). The possible drawback of
the proposed solution is that I'm not sure if it is possible to include
it into the new online documentation as it is not in `doc/` folder.
The other possibility is to keep a small `CONTRIBUTING.md` file, as it
is now, pointing to the new documentation system (once online), but I'm
preferring the proposed solution for the following reasons:
- People that are willing to contribute will probably open Github
first (for forking, creating PR, etc), not the online documentation.
- It has one level of indirection less when people click on the
guidelines guide from a new issue/PR.
- `CONTRIBUTING.*` is by convention a special kind of file on github, so
it's valid reason to break the rule and not having it in the `doc/`
folder.
The current way to highlight TODOs is `spacemacs/highlight-TODO-words`
which is a spacemacs' hard-coded function.
This commit changes it for the `hl-todo` package. This imply:
- More keywords are supported out of the box.
- Keywords are associated to faces, so they are shown in different
colors.
- Keywords are stored with their faces in a list, so it's easier for
users to add their own keywords and faces (as contrary to a regexp).
- It is possible to disable highlighting by simply excluding the
package.
This pre-command-hook translates the special key to the corresponding
emacs function key. This effects only happens in terminal, this hook is
a no-op in GUI.
By doing this we attempt to bring more consistency between the GUI
and the terminal regarding TAB and RET keys.
spacemacs/set-key
spacemacs/set-key-for-state
These functions find normalized keys which should handle as sanely as
possible the GUI and the terminal.
See docstring of spacemacs//normalize-key for more info.
This commit changes:
<leader> a p from proced to list-processes
<leader> a P from paradox-list-packages to proced
and <leader> a k to paradox-list-packages.
* Set `neo-vc-integration` to `nil` for much better performance
* Add documentation for the `neo-vc-integration` setting.
* Add documentation for the `neo-theme` setting.
- Default projectile settings are to disable caching when indexing
method is `alien. So setting the indexing method should be enough.
- On windows we keep the 'native method unless find is found
I found it annoying to have to re-navigate to the *compilation* window
and close it after every time I compile with `SPC p c`.
This patch adds a binding to make closing this window fast and easy.
Also a little bit of clean up.
This variable does NOT specify the directory portion for the junk file
creation; it is an alias for `open-junk-file-format'. Hence, it should
contain format markers for the randomisation of the junk file name.
The previous value would not auto-generate a junk name for the junk
file: the prompt would ask for a file extension without having an
auto-generated junk file name.
- Rename micro-states to "layouts"
- Rename some functions to include "layout" instead of "perspective"
- cleanup variables
- move functions to funcs.el
- move package specific stuff to post-init functions
- changes key bindings
- micro-state documentation rewrite
- change format of the layouts line in the micro-state doc
- defer loading of persp-mode which loads with `SPC l`
- always display the spacemacs home buffer with no switch
- various fixes
- various new bugs :-)
After the change in 1d340dcc77,
there was some grumbling in gitter that `SPC L` is not as convenient
as `SPC l`. Apparently avy-goto-line is a popular function.
`SPC y` is chosen because it is:
- currently unused (as far as I can tell).
- sort of mnemonic because "avy" has a "y" in it.
- doesn't require SHIFT to type
- is accessible even on non-US keyboards
(there were suggestions such ";" and "\" that are not as accessible
on non-US keyboards)
This change also updates the documentation regarding the change from
ace-jump-mode to avy.
So perspectives are on SPC l
and avy jump to line on SPC L
This is to have consistent lower case keys for "scopes":
- b for buffer
- f for files
- p for project
- and l for layout (perspective)
I feel that it is not needed because it makes not a lot of sense to
have it non global since it is a dotfile variable.
Also remove ' from the docstring for consistency.