#+TITLE: Better Defaults contribution layer for Spacemacs
[[file:img/emacs.png]]
* Table of Contents :TOC@4:
- [[#description][Description]]
- [[#install][Install]]
- [[#functions][Functions]]
- [[#spacemacssmart-move-beginning-of-line][spacemacs/smart-move-beginning-of-line]]
- [[#spacemacsbackward-kill-word-or-region][spacemacs/backward-kill-word-or-region]]
- [[#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]].
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(better-defaults))
#+END_SRC
* Functions
** spacemacs/smart-move-beginning-of-line
Pressed one time, go to the first non-whitespace character of the line, pressed
again, go to the beginning of the line.
** 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.
* Key bindings
| Key Binding | Description |
|-------------+----------------------------------------------------------------------------------|
| ~C-a~ | smart beginning of line |
| ~C-w~ | backward kill word or region |
| ~C-y~ | Automatically indenting after pasting. With prefix argument, paste text as it is |