spacemacs/layers/osx/README.org
syl20bnr 6b33031dc5 core: dotspacemacs-distribution, spacemacs-core layer and rename contrib
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
  spacemacs-core (default spacemacs)

spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.
2015-09-07 23:44:43 -04:00

81 lines
2.3 KiB
Org Mode

#+TITLE: OSX contribution layer for Spacemacs
[[file:img/apple.png]]
* Table of Contents :TOC@4:
- [[#description][Description]]
- [[#philosophy][Philosophy]]
- [[#install][Install]]
- [[#layer][Layer]]
- [[#coreutils][Coreutils]]
- [[#key-bindings][Key Bindings]]
- [[#future-work][Future Work]]
* Description
Spacemacs is not just emacs+vim. It can have OSX keybindings too!
This layer globally defines common OSX keybindings. ~⌘~ is set to
~super~ and ~⌥~ is set to ~meta~. Aside from that, there's nothing
much, really.
While in =dired= this layer will try to use =gls= instead of =ls=.
* Philosophy
While this layer enables common OSX bindings, it does not implement
OSX navigation keybindings. Spacemacs is meant to be used with evil,
and we encourage you to do so :)
* Install
** Layer
To use this configuration layer, add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(osx))
#+END_SRC
*** Use with non-US keyboard layouts
If you need the ~⌥~ key to type common characters such as `{[]}~` which is usual
for e.g. Finnish and Swedish keyboard layouts, you'll probably want to leave the
~⌥~ key unchanged by setting the =osx-use-option-as-meta= variable to =nil=:
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(
(osx :variables osx-use-option-as-meta nil)))
#+END_SRC
** Coreutils
To get =gls= install coreutils homebrew:
#+BEGIN_SRC sh
brew install coreutils
#+END_SRC
* Key Bindings
| Key Binding | Description |
|-------------+-------------------|
| ~⌘ +~ | Scale up text |
| ~⌘ -~ | Scale down text |
| ~⌘ q~ | Quit |
| ~⌘ v~ | Paste |
| ~⌘ c~ | Copy |
| ~⌘ x~ | Cut |
| ~⌘ a~ | Select all |
| ~⌘ w~ | Close window |
| ~⌘ W~ | Close frame |
| ~⌘ n~ | New frame |
| ~⌘ z~ | Undo |
| ~⌘ Z~ | Redo |
| ~⌃ ⌘ f~ | Toggle fullscreen |
* Future Work
- Allow user to choose from either ~hyper~ or ~super~ as ~⌘~. This is an option
that is supported cross-platform.
- Configurable option to keep the OSX and spacemacs clipboards separate