60 lines
3 KiB
Org Mode
60 lines
3 KiB
Org Mode
#+TITLE: Better Defaults layer
|
|
|
|
#+TAGS: emacs|layer
|
|
|
|
[[file:img/emacs.png]]
|
|
|
|
* Table of Contents :TOC_5_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, but some of the layer bindings might be shadowed by the evil keybindings.
|
|
|
|
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 |
|