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
2018-10-11 00:13:43 +03:00

58 lines
2.9 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+TITLE: Better Defaults layer
[[file:img/emacs.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#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 theres 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 its not available everywhere. Due to implementation details unfilling doesnt 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 |