Commit graph

78 commits

Author SHA1 Message Date
Dominique Bégin e243454de3 Add keybinding for rotating windows backwards 2016-04-12 22:49:56 -04:00
Eivind Fonn 9b60b133ad Add documentation to transparency TS 2016-04-08 17:43:18 +02:00
sooheon b77b541e3a Allow = to be used to increase transparency
-,= is easy to go back and forth, without needing to press shift for +.
2016-04-08 17:39:33 +02:00
Eivind Fonn bb46ced71c Fix bookmark binding conflict 2016-04-06 11:28:24 +02:00
Fabien Dubosson 481c196cd5 Fix deer binding being overlapped by dired 2016-04-05 13:04:51 +02:00
Fabien Dubosson 57e91fe035 Correct more <SPC> to SPC 2016-04-05 12:52:54 +02:00
Allen Li e037dcdc51 Set SPC f b to bookmark-jump
helm will overwrite this with its own command, but people not using
helm (only ivy at the moment) will need this defined.
2016-04-05 12:33:19 +02:00
syl20bnr 173e2a5421 Move all prefix names from config.el to init functions 2016-04-03 00:12:28 -04:00
syl20bnr f1ddbd1f3e move toggle stickyfunc to SPC T S and SPC T C-S 2016-04-01 00:26:20 -04:00
syl20bnr 9368cba427 Update windows transient state docstring 2016-03-24 00:49:46 -04:00
syl20bnr f48b251968 Delete SPC j b and move SPC j u to SPC j b
By convention, jump back should be on `b`, not `u`
Since `SPC j u` is free, move as well `SPC j U` to `SPC j u`.

`SPC j b` for bookmark jump is already available under `SPC f b`
2016-03-21 20:02:56 -04:00
syl20bnr cfdfcfab40 Revert hybrid mode to use an evil hybrid state
To follow with the refactor of the holy-mode which uses the
emacs state of evil mode, the hybrid mode now uses the evil hybrid
state.

We have now a clean symmetry between all the editing styles where each
of them has an associated state:
- vim = insert state
- emacs = emacs state
- hybrid = hybrid state

This gives consistent properties to all editing styles and most
importantly allows to have true isolation of key binding maps. It has
the huge benefit to be easier to explain since now everything can
leverage the evil API regarding key bindings.

Note: Regular Emacs key binding functions can still be used for emacs
and hybrid states so there is no regression with the previous
implementation, we just gain better isolation at the cost of a few
duplicated lines of code which will be easy to update as needed if
evil upstream code changes (this code has been commented with a link
to the upstream code).
2016-03-16 21:30:03 -04:00
syl20bnr 82fdd9a511 Use evil in holy-mode
Motivation

While disabling Evil in holy-mode makes its implementation shorter and
sounds elegant on the paper, in practice it puts a big burden on the
configuration parts which need to know if Evil is enable or not. This is
a bad separation of concerns and the bunch of fixes that we were forced
to do in the past weeks shows this issue. Those fixes were about
removing the knowledge of the activation of Evil by implementing new
dispatching functions to be used by layers, this is cumbersome and makes
Spacemacs layer configuration more subtle which is not good. There was
additional bad consequences of the removal of Evil state like the
impossibility to use Evil lisp state or iedit states, or we would have
been forced to implement a temporary activation of Evil which is
awkward.

Instead I reintroduce Evil as the central piece of Spacemacs design thus
Evil is now re-enabled in holy-mode. It provides the abstraction we need
to isolate editing styles and be able to grow the Spacemacs
configuration coverage sanely. Layers don't need to check whether the
holy mode is active or not and they don't need to know if Evil is
available (it is always available). We also don't need to write
additional dispatching functions, this is the job of Evil, and I think
it provides everything for this. Ideally configuration layer should be
implemented with only Evil in mind and the holy-mode (and hybrid-mode)
should magically make it work for Emacs style users, for instance we can
freely use `evil-insert-state` anywhere in the code without any guard.

Evil is now even more part of Spacemacs, we can really say that
Spacemacs is Emacs+Evil which is now an indivisible pair. Spacemacs
needed this stable API to continue on the right track.

While these changes should be rather transparent to the user, I'm sorry
for this experimental period, I failed to see all the implications of
such a change, I was just excited about the possibility to make Evil
optional. The reality is that Spacemacs has to embrace it and keep its
strong position on being Emacs+Evil at the core.

Implementation

- insert, motion and normal states are forced to emacs state using an
advice on `evil-insert-state`, `evil-motion-state` and
`evil-normal-state` respectively. These functions can be used freely in
the layer configuration.
- A new general hook `spacemacs-editing-style-hook` allow to hook any
code that need to be configured based on the editing style. Functions
hooked to this hook takes the current style as parameter, this
basically generalize the hook used to setup hjkl navigation bindings.
- ESC has been removed from the emacs state map.
- Revert unneeded changes
  - Revert "evil: enter insert-state only from normal-state"
    commit bdd702dfbe.
  - Revert "avoid being evil in deft with emacs editing style"
    commit f3a16f49ed.

Additional changes

All editing style packages have been moved to a layer called
`spacemacs-editing-styles`

Notes

I did not have time to attack hybrid mode, I should be able to do it
later.
2016-03-13 21:16:55 -04:00
Eivind Fonn ee6e84de10 Enhance compilation keybindings
- Make sure to defer after load of compile
- Use `gr' instead of `g' for recompilation
2016-03-12 17:49:20 +01:00
denin a4ce07dd12 restore evil-binding of 'g' key in a compilation buffer
By default, recompile is bound to 'g' in compilation buffer.
It was rebound to 'r' key.
2016-03-12 17:47:18 +01:00
sooheon ec3bbd4176 Use evil-define-minor-mode-key over define-key
This keeps the keybinding specific to the visual-line minor mode, and
fixes #5418. Reverting the bindings on the :off toggle is no longer
necessary as well, turning off visual-line-mode will handle it.
2016-03-10 23:12:35 -05:00
Beau Dacious a54c637480 create align-repeat-backslash command 2016-02-27 14:57:06 +01:00
justbur 5402261456 Improve toggle-maximize-centered-buffer
1. The register name should be a character not a symbol.

2. Combine toggle-maximize-centered-buffer and bzg-big-fringe-mode to
   make new minor mode that combines the two effects.

3. Fix problem where the mode could only be enabled if there was more
   than one window, which makes no sense.

4. Use window-configuration-to-register function
2016-02-25 20:34:40 +01:00
Allen Li 496718ddd8 Fix Window Manipulation Transient State typo 2016-02-25 20:30:24 +01:00
justbur 0b997316d0 helm: Move helm-apropos to spacemacs-helm 2016-02-16 23:53:43 -05:00
justbur f6b82ee90d helm/ivy: Use hook to update hjkl navigation
Introduce hjkl-completion-navigation-functions to hold the functions to
disable and enable hjkl navigation for ivy and/or helm. The hook is run
with args to indicate whether to enable or disable.
2016-02-16 23:53:43 -05:00
adrsta feefea4b18 Update align function documentation 2016-02-14 23:39:37 -05:00
Robert O'Connor 4348c17433 Switch “bc”->“bd” and “wc”->“wd”
Also:
- switch spacemacs layouts to the same.
- Add “wD” for ace-delete-window
- switch window dedication toggle to “wt”
- all documentation has been updated to reflect these changes

Closes #5031
2016-02-14 23:09:45 -05:00
Eivind Fonn 69b14b4950 Fix frame parameter for maximized 2016-02-02 16:30:03 +01:00
MadAnd f506f9a00c Improve frame-fullscreen and maximize-frame toggles 2016-02-02 16:30:03 +01:00
Eivind Fonn b3b0ecb399 Make buffer and window close bindings consistent 2016-01-31 23:43:23 -05:00
Eivind Fonn 53daa7b198 Some fixes for google-translate
- Don't explicitly list commands (they are autoloaded)
- Move xgl binding from keybindings.el
- Don't explicitly require the default-ui feature (not necessary)
- Set variables in init instead of config (easier to change for users)
2016-01-31 23:22:42 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
syl20bnr a000a03349 Move report error to SPC h I
h for help and I for issue
2016-01-26 01:21:02 -05:00
Fabien Dubosson aa39eb3fd0 Add a command for reporting issue to spacemacs 2016-01-26 01:21:02 -05:00
justbur e97af03ff7 Call new micro-state a transient state 2016-01-26 01:21:00 -05:00
justbur 48846ed824 New version of wind-manip-micro-state doc 2016-01-26 01:21:00 -05:00
justbur dbd9725c39 spacemacs(-base): Translate micro-states to use new macro
1. spacemacs: scroll
2. spacemacs-base: paste
3. spacemacs-base: macrostep
4. spacemacs-base: transparency
5. spacemacs-base: scale-font
6. spacemacs-base: wind-manip
7. spacemacs-base: buffer
8. spacemacs: symbol-highlight
9. spacemacs: move-text
10. spacemacs: zoom-frm
11. spacemacs: evil-numbers
2016-01-26 01:20:59 -05:00
JAremko 574dffbeeb added follow mode key binding 2016-01-23 14:11:20 +01:00
Balaji Sivaraman ab109b1eb2 Add keybinding and evil-ex-cmd string for spacemacs/new-empty-buffer fn 2016-01-18 00:31:21 -05:00
Fabien Dubosson 123844cd51 Add text justification bindings 2016-01-18 00:25:31 -05:00
Fabien Dubosson ad448d6683 Add helm-apropos on SPC h d d
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.
2016-01-13 00:40:25 -05:00
justbur 36a0756211 spacemacs-base: Add back view-emacs-news
Some how it got lost moving helm into its own layer.
2016-01-12 08:19:47 -05:00
syl20bnr a5857b3d7c Optimize SPC j prefix
`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
2016-01-12 01:17:41 -05:00
Fabien Dubosson 78b8d939f4 Add spacemacs/describe-last-keys 2016-01-11 22:01:01 -05:00
Fabien Dubosson 2441b5861f Remove duplicate definition of SPC hds 2016-01-11 22:01:01 -05:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
justbur 4872c711a2 spacemacs-ivy: Fix imenu jumping for ivy split
Make spacemacs/jump-in-buffer aware of ivy and move jI into the
spacemacs-helm layer
2016-01-09 13:36:03 -05:00
justbur 00b25656a0 spacmacs-helm: Move binding for hdm
For some reason this fixing a problem with helm refusing to load
2016-01-09 13:36:03 -05:00
justbur 3e2b5c88c3 ivy/helm: Reorganize help bindings
Mainly, reduce the duplication in bindings, but also issue message for
common spacemacs commands that are not implemented in spacemacs-ivy yet.
2016-01-09 13:36:03 -05:00
justbur 32f523e062 spacemacs-helm: New layer
Collect helm configuration from spacemacs and spacemacs-base into one
place. The purpose is to allow choice between this layer and
spacemacs-ivy.
2016-01-09 13:36:03 -05:00
syl20bnr fa50f4600a Move avy bindings to spacemacs/init-avy, remove "SPC `" 2016-01-09 02:28:19 -05:00
justbur 02e2ce4d5a keybindings: Add SPC j for jumping
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)
2016-01-09 01:00:44 -05:00
justbur f3c650472c transparency: Better version of toggle transparency
Before we could get an error if for some reason the user set the alpha
parameter to something other than a cons cell.

Ref #4388
2016-01-06 00:26:53 -05:00
Sebastian Wiesner f074c3887b Bind hn to view-emacs-news 2016-01-05 01:27:25 -05:00