Commit graph

82 commits

Author SHA1 Message Date
Ivan Yonchovski
bc55d9b6fd Make sure eldoc info is not removed when you switch to insert mode
- This will prevent jumping of eldoc box when you switch to insert mode.
2019-11-27 21:30:29 +01:00
duianto
b9e61e6437 Add transient state keys _, j, k
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.

Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point

`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame

Update documentation:
Zoom frame:
`q` quit transient state

Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state

Fixed a typo and made a small rewrite of the tip about using a prefix argument.

Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state

Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state

Evil numbers:
Added `k` increase
Added `_` and `j` decrease

Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state

Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To:   +,=

From: - and _
To:   -,_
2019-07-14 22:56:57 +02:00
duianto
d6cdd6aa88 Add a tutorials section to SPC h T
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`

Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.
2019-07-07 11:34:16 +02:00
Jake Romer
7c3d211726 Run foreign keys in evil-numbers transient state 2019-07-06 01:59:04 +02:00
jcaw
d4cca74854 Add support for visual line numbers
Emacs 26 added built-in support for line numbers, relative line numbers, and
visual line numbers. Spacemacs supports only absolute and relative, but there is
no way to access the visual mode. It's hard to get around this, since Spacemacs
abstracts line numbers to a reasonably high degree.

Arguably, `visual` is much more useful than `relative` as a display type. Visual
line numbers are like relative line numbers, but only lines that are actually
showing are counted. This means:

  1. Hidden lines are not counted. If a large amount of text is folded, the line
     numbers won't jump from "10" to "546". This is particularly useful in
     buffers like `magit-status`, where a large amount of information is folded
     by default.

  2. Lines that are wrapped are counted as multiple lines, since they're being
     displayed as multiple lines in the editor. Each visual line will be
     numbered - unlike `relative`, where the entire thing is numbered... Once.

With standard relative line numbers, you can't actually navigate using the line
numbers in the sidebar as soon as folded or wrapped lines are introduced. Since
this is one of the main use cases for relative line numbers, this is a big
problem.

Visual mode fixes that problem. Every line that's being displayed is labelled.
Numbers always correspond to the actual number of lines you'd need to navigate
to reach that line.

This commit extends Spacemacs' line number interface to provide visual line
number support.
2019-06-23 19:16:44 +02:00
Hoyon Mak
beab291332 Don't lazy load keybindings for evil surround 2019-04-10 19:30:32 +02:00
duianto
2ef94efbf4 Add line text object using evil-textobj-line 2019-04-07 15:34:02 +02:00
deb0ch
1402b1bacc formatting 2018-11-05 22:14:32 +00:00
Codruț Constantin Gușoi
5c6057226e Encapsulates multiple cursors functionality in a layer 2018-10-27 14:33:42 +03:00
mpanarin
ae00b1c70a Revert "Disable evil-ediff for now"
This reverts commit 4dbd5e6110.
2018-08-31 16:58:05 +03:00
bmag
4f70a9abcc Load evil-surround when entering operator state
Only using visual state as entry point for evil-surround doesn't guarantee
surround is available for evil-yank and evil-delete. Fixed by also using
operator state.

Fixes #11019 and #11021
2018-07-12 11:56:20 +03:00
syl20bnr
4dbd5e6110 Disable evil-ediff for now 2018-07-04 02:36:59 -04:00
syl20bnr
54ace2e998 Fix lazy loading of evil-escape
Add transient hook on window-configuration-change-hook
2018-06-15 03:09:14 -04:00
syl20bnr
5ab0b7918e Lazy load evil-escape 2018-06-14 21:54:39 -04:00
syl20bnr
9d7c1c8adf Lazy load evil-numbers 2018-06-14 21:54:39 -04:00
syl20bnr
8281ed74ae Lazy load evil-lion 2018-06-14 21:54:39 -04:00
syl20bnr
03786aa94a Lazy load evil-surround 2018-06-14 21:54:39 -04:00
syl20bnr
fc08a3b9c1 Lazy load evil-exchange 2018-06-14 21:54:39 -04:00
syl20bnr
8425d16c55 Lazy load evil-indent-plus 2018-06-14 21:54:39 -04:00
syl20bnr
c50ff88812 Lazy load evil-args 2018-06-14 21:51:31 -04:00
syl20bnr
3b06108161 Lazy load evil-goggles 2018-06-14 21:23:12 -04:00
syl20bnr
41b90e403c Lazy load evil-lisp-state 2018-06-11 02:46:38 -04:00
syl20bnr
095a83896a Remove evil-search-highlight-persist as it seems uneeded now 2018-06-11 02:02:20 -04:00
syl20bnr
5004e05d44 Add hybrid-style-visual-feedback variable 2018-06-08 02:32:05 -04:00
syl20bnr
9539e4206d Rename Vim style related variable to vim-style-xxxxx
Update the documentation
Define alias for backward compatibility
2018-06-08 02:24:38 -04:00
syl20bnr
e39b3495bd Add vim-style-visual-feedback variable and documentation 2018-06-08 02:24:38 -04:00
syl20bnr
1833c9c4f7 iedit: fix TAB in Vim and Hybrid states to toggle occurrences
Fixes #10398
2018-06-07 01:59:16 -04:00
syl20bnr
740251d896 Disable evil-goggles pulse 2018-06-03 02:21:21 -04:00
syl20bnr
306f8d6cd8 Hide ligther for evil-goggles-mode 2018-06-03 01:09:28 -04:00
syl20bnr
1ec62a496a Add evil-goggles and tune effect duration for async and blocking ops 2018-06-02 02:51:06 -04:00
syl20bnr
1374cd615f Fix evil-escape lighter being shown in mode-line
Also simplify code a bit.
2018-06-02 01:56:25 -04:00
bmag
8f82486154 Add support for native line numbers in Emacs 26
Emacs 26.1 will introduce a new native line numbers feature:
"display-line-numbers". It includes relative line numbers, is faster than
current linum-mode, and doesn't use the margin area (it has its own area). So
yeah, we want to use the new feature when possible.

No changes are required on the user side, except for Emacs 26 users are
recommended to remove nlinum layer from their configuration (if they have
enabled it).

With this change:
- Emacs 26:
  - uses display-line-numbers by default.
  - linum and linum-relative packages are excluded.
- Emacs 25:
  - does NOT use display-line-numbers.
  - continues to use linum and linum-relative.
- nlinum layer:
  - can still be used as before in Emacs 25.
  - is NOT recommended in Emacs 26, but can be used.
  - when enabled, excludes display-line-numbers.

Also contains some bug fixes:

Fixes a bug where setting `dostpacemacs-line-numbers` to `t` or `relative`
enabled line numbers in every buffer, instead of only in buffers that derive
from prog-mode and text-mode.

Likewise fixes a bug where specifying `:enabled-for-modes nil` (or not
specifying `:enabled-for-modes` at all) in `dotspacemacs-line-numbers` settings
meant "enable in all modes" instead of "enable in modes derived from prog-mode
or text-mode".

Because of this change, also adds a way for users to enable line numbers
in *all* buffers.

Removes check for special buffer. All our current checks should be enough to
enable line numbers only where it makes sense. Disabling in all special buffers
is not necessary.
2018-05-28 19:29:15 +03:00
smile13241324
106b27f52e Deactivate evil-escape in holy-mode 2018-05-27 22:37:48 +03:00
syl20bnr
0fa3658cd8 reorganize spacemacs-base distribution into +spacemacs/spacemacs-xxx
This idea is to have the spacemacs-base distribution only configure defaults for
built-in packages. Those buit-in packages are now configured in the new layer
spacemacs-defaults.
Additionally some other packages of spacemacs-base have been dispatched to
better suiting spacemacs layers.

Projectile has been moved to the new layer spacemacs-project

- Move the following packages to bootsrap distributio layer:
  - exec-path-from-shell
  - evil-evilified-state
  - holy-mode
  - hybrid-mode
  - spacemacs-theme
- ace-window has been moved to spacemacs-navigation
- centered-buffer-mode has been moved to spacemacs-editing-visual
- pcre2el has been moved to spacemacs-editing
- evil-escape and evil-visualstar have been moved to spacemacs-evil
2018-03-04 20:54:54 -05:00
syl20bnr
ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
bmag
f84ab9af8f u-p-always-defer fix regress: spacemacs-evil, spacemacs-editing
These changes were missed in commit 29c78ce841
2018-03-03 14:17:01 +02:00
syl20bnr
29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
duianto
25fa9b0a50 Format spacemacs-evil/packages.el max 80 chars 2018-01-20 10:41:43 -05:00
Benjamin Reynolds
93d2fa6f9c evil-mc: Fix misaligned cursors on macOS and Windows
See #8641
See also gabesoft/evil-mc#49
2018-01-18 01:20:12 -05:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr
2cb98447af Move evil-cleverparens to spacemacs-evil with major mode toggle
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.

The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.

This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
2018-01-04 01:40:52 -05:00
duianto
d1b699fceb Clear both / and C-s search highlights with :noh
Clear both `/` and `C-s` search highlights with `:noh` and `:nohlsearch`,
and group the clear highlight commands next to each other.
2017-12-17 15:19:26 -05:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
duianto
aada9702dc init-evil-mc: 1 cursor hide mode line text variable
Problem:
Spacemacs rewrites the evil-mc-mode-line variable, to remove the evil-mc mode
line text, when there's only one cursor. The rewrite blocks the recent evil-mc
updates, that made the multi cursor, mode line text, more readable.

Solution:
Use the new evil-mc-one-cursor-show-mode-line-text variable, to only hide the
mode line text, when there's one cursor. This unblocks the current, and any
future updates, that the evil-mc package makes to the mode line text.
2017-05-24 13:32:25 +02:00
Eivind Fonn
5290456304 Modify evil-lion config
- Adjust keys not to collide with evil-little-word
- Add documentation
2017-05-23 11:08:06 +02:00
James Wang
3661ac1937 Add evil-lion 2017-05-23 11:02:23 +02:00
syl20bnr
fed06956e3 Move evil-mc functions to funcs.el 2017-04-09 23:22:12 -04:00
Koray Al
58458f2d2a Disable paste transient state when multiple cursors are active
evil-mc has no support for the 'paste transient state', hence we should fall back
to the default version during that period.
2017-04-09 23:15:53 -04:00
syl20bnr
3f1bb43597 Move evil-declare-ignore-repeat to evil init function 2017-04-09 17:25:57 -04:00
Robbert van der Helm
98584205ce Fix repeating jumping to errors using the '.' command #8083
The unimpaired keybindings `[ q` and `] q` can be used to jump to flycheck
errors in the current buffer. Because evil-repeat treated them as regular
operations, they were repeated when pressing the `.` key. This made it harder to
rename multiple erroneous variables.
2017-04-09 17:21:52 -04:00