This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+emacs/better-defaults/README.org
2017-05-22 18:35:37 +03:00

75 lines
3.1 KiB
Org Mode

#+TITLE: Better Defaults layer
[[file:img/emacs.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features]]
- [[#smart-line-navigation][Smart line navigation]]
- [[#spacemacsbackward-kill-word-or-region][=spacemacs/backward-kill-word-or-region=]]
- [[#fill-or-unfill-paragraph][Fill or unfill paragraph]]
- [[#install][Install]]
- [[#configuration][Configuration]]
- [[#key-bindings][Key bindings]]
* Description
This layer enhances the default commands of Emacs and is primarily intended to
be used with the =emacs= editing style as it does not change anything in the Vim
key bindings.
However the =emacs= editing style is not required, you can still use this layer
while you are using the =vim= editing style if you have some kind of mixed
style.
The commands defined in this layer are taken from various sources like [[https://github.com/bbatsov/prelude][Prelude]].
* Features
** Smart line navigation
Subsequent presses of ~C-a~ toggles between the beginning of the line and the
first non-whitespace character.
Similarly, subsequent presses of ~C-e~ will toggle between the end of the code
and the end of the comments.
** =spacemacs/backward-kill-word-or-region=
A combination of =kill-region= and =backward-kill-word=, depending on whether
there is an active region. If there's an active region kill that. If not kill
the preceding word.
** Fill or unfill paragraph
Pressing ~M-q~ for the first time fills current paragraph and pressing ~M-q~ for
the second time unfills it. Note that some modes override this key binding so
it's not available everywhere. Due to implementation details unfilling doesn't
work when called twice via ~M-x~.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =better-defaults= to the existing =dotspacemacs-configuration-layers= list in
this file.
* Configuration
Choose if ~C-a~ first brings you to the beginning of the line or the beginning of
the code (first non-whitespace character).
#+BEGIN_SRC emacs-lisp
(better-defaults :variables
better-defaults-move-to-beginning-of-code-first t)
#+END_SRC
Choose if ~C-e~ first brings you to the end of the line or the end of the code
(before or after comments).
#+BEGIN_SRC emacs-lisp
(better-defaults :variables
better-defaults-move-to-end-of-code-first nil)
#+END_SRC
* Key bindings
| Key Binding | Description |
|-------------+----------------------------------------------------------------------------------|
| ~C-a~ | move to beginning of line or code |
| ~C-e~ | move to end of line or code |
| ~C-w~ | backward kill word or region |
| ~C-y~ | Automatically indenting after pasting. With prefix argument, paste text as it is |
| ~M-q~ | fill or unfill current paragraph |