For buffers, `*` search for the word under the cursor, and `/` ask to
search for an expression. To keep the same mnemonic at project level,
this commit change `SPC /` to ask for an expression to search, and add
`SPC *` to search for the expression under the cursor (in fact the only
difference being the expression pre-filled inside the input field).
The toggle is being called after the package is loaded, but the package
is deferred based on a call to the toggle. This means that the first
time toggle is used it's called at least twice. Furthermore, `(setq
linum-format 'linum-relative)` effectively turns on the mode as it is.
Possible fix for #2161
In help buffers, TAB in emacs state allows you to jump through the
links. This allows for the same behavior in motion state. This is very
useful for jumping to function definitions.
This change add a `switch-to-scratch-buffer` function allowing to – you
guessed it – switch to the `*scratch*` buffer, taking care of creating
it if necessary. The function is bind to `SPC b s`, `b` as it concerns
buffers, and `s` for `scratch`.
Correct a bug in helm-spacemacs: Whenever a function was needing the
FAQ's candidates in helm-spacemancs (`SPC f e h` and `SPC f e f`), the
`FAQ.org` file was open in a buffer and not closed. This commit corrects
this by loading the content of `FAQ.org` in a temp buffer and switch it
to `org-mode` in order to get the candidates.
evil-mc is a new attempt to bring multiple cursors to evil users.
Enable it by adding `(global-evil-mc-mode)` then use
g r m to mark all
g r u to remove cursors
g r p to pause cursors
g r r to resume
g r h to add a cursor at point (cursors must be paused first)
Package repo: https://github.com/gabesoft/evil-mc
Emacs provides a `count-words-region' which is badly named as it counts
not only words, but also characters and lines. The current keybinding
for this function `SPC x w c' implies it's referring to words only. The
new mapping `SPC x c` is more coherent since it means counting text,
whether it is characters, words or lines. An alias `count-region` is
created to be less confusing in which-key description.
`SPC x w c` being free, `spacemacs/count-words-analysis` is remapped to
it instead of `SPC x w C` to save one keystroke.
The `spacemacs/count-words-analysis' function displays results with the
default elisp formatting of associative list. This change improves it by
changing the format to a more human-readable form, and also by ordering
results by frequencies first, and then alphabetically in case of tie.
The function `spacemacs/avy-open-url` allows to easily select an URL on
the screen with `avy` and open it. The function is bind to `SPC x o`,
`x` as it is text-related and `o` for open.
Add the `FAQ.org` file as a source in helm-spacemacs (`SPC f e h`).
Define a new keybinding for looking directly inside the FAQ with helm:
`SPC f e f`.
With help from TheBB, thanks!
The `SPC p t` keybinding opens the neotree at the project root.
Currently the neotree only shows the root of the project, nothing is
expanded and no file is focused/selected. With this modification, the
neotree is still showing the project root, but with the current file
being focused/selected in the hierarchy (its path being expanded).
Signed-off-by: Fabien Dubosson <fabien.dubosson@gmail.com>
Import TheBB configuration into Spacemacs and add `C-S-h` to replace
redefined `C-h` binidng.
Also remove the go up a directory behavior on backspace, now backspace
is a regular backspace.
Put the toggles on SPC t E with
SPC t E h -> holy-mode
SPC t E y -> hybrid-mode
Make the mode-line diminished lighter consistent with the key bindings,
so holy is Ⓔh and hybrid is Ⓔy
Add seamless switch between holy and hybrid.
This is how evil-leader gets `SPC m` to work for mode specific bindings,
and we need to mirror this step for `M-m`. This is big change, but in
order for `M-m` to work properly we need to remap it to the mode-map
whenever possible.
Use same hook as evil-leader for major-mode-leader. This fixes an
inconsistency that could arise between the leader key being bound but
the major-mode leader key not being bound (See for example #3000). By
using the same hook as evil-leader-mode, we ensure that either both keys
or bound or neither.
A minor problem that was fixed was `mode-map` and `major-mode-map` were
not let bound and had global scope.
Using setf is better than using the previous advice, because it was
ignoring the arguments passed to evil-insert-state and the arguments
control whether the state message displays in the minibuffer. In this
version we just switch out the function definition for
evil-insert-state, and all arguments are handled perfectly.
spacemacs-core: Don't defer hybrid-mode
hybrid-mode is now extremely lightweight, and deferring it causes
problems if someone wants to bind keys in hybrid-mode but doesn't have
it selected as their editing style on startup. The reason is the
hybrid-mode keymap will not be available and an error will be thrown.
This requires using eval-after-load in this case, and this seems overly
complicated just to avoid loading this file.
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes#2737, because as far as I can tell "+" has no special
meaning in a helm pattern.
Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".