Create conventions for markup languages

This commit is contained in:
Christoph Paulik 2015-04-14 22:36:02 +02:00 committed by syl20bnr
parent 7b6678efd6
commit ed861cf0ff
7 changed files with 182 additions and 77 deletions

View File

@ -117,7 +117,7 @@ Key Binding | Gnus mode - Description
`<RET>` | Summary Buffer(RSS) - Open article Link in browser
`<TAB>` | Summary Buffer(RSS) - Open article and switch to it
`<SPC> m o` | Message Buffer - Use org mode to convert into html email
`<SPC> m h` | Org Mode - Send current buffer as email message
`<SPC> m H` | Org Mode - Send current buffer as HTML email message
[application specific password]: https://support.google.com/accounts/answer/185833?hl=en

View File

@ -96,4 +96,4 @@
(evil-leader/set-key-for-mode 'message-mode
"mo" 'org-mime-htmlize)
(evil-leader/set-key-for-mode 'org-mode
"mh" 'org-mime-org-buffer-htmlize))))
"mH" 'org-mime-org-buffer-htmlize))))

View File

@ -12,13 +12,14 @@
- [Key bindings](#key-bindings)
- [Element insertion](#element-insertion)
- [Element removal](#element-removal)
- [Promotion, Demotion, Completion, and Cycling](#promotion-demotion-completion-and-cycling)
- [Completion, and Cycling](#completion-and-cycling)
- [Following and Jumping](#following-and-jumping)
- [Indentation](#indentation)
- [Header navigation](#header-navigation)
- [Buffer-wide commands](#buffer-wide-commands)
- [List editing](#list-editing)
- [Movement](#movement)
- [Promotion, Demotion](#promotion-demotion)
<!-- markdown-toc end -->
@ -49,31 +50,31 @@ To generate a table of contents type on top of the buffer:
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m -</kbd> | insert hr
<kbd>SPC m a l</kbd> | insert link
<kbd>SPC m a L</kbd> | insert reference link dwim
<kbd>SPC m a u</kbd> | insert uri
<kbd>SPC m a f</kbd> | insert footnote
<kbd>SPC m a w</kbd> | insert wiki link
<kbd>SPC m -</kbd> | insert horizontal line
<kbd>SPC m i l</kbd> | insert link
<kbd>SPC m i L</kbd> | insert reference link dwim
<kbd>SPC m i u</kbd> | insert uri
<kbd>SPC m i f</kbd> | insert footnote
<kbd>SPC m i w</kbd> | insert wiki link
<kbd>SPC m i i</kbd> | insert image
<kbd>SPC m i I</kbd> | insert reference image
<kbd>SPC m t h</kbd> | insert header dwim
<kbd>SPC m t H</kbd> | insert header setext dwim
<kbd>SPC m t 1</kbd> | insert header atx 1
<kbd>SPC m t 2</kbd> | insert header atx 2
<kbd>SPC m t 3</kbd> | insert header atx 3
<kbd>SPC m t 4</kbd> | insert header atx 4
<kbd>SPC m t 5</kbd> | insert header atx 5
<kbd>SPC m t 6</kbd> | insert header atx 6
<kbd>SPC m t !</kbd> | insert header setext 1
<kbd>SPC m t @</kbd> | insert header setext 2
<kbd>SPC m s s</kbd> | insert bold
<kbd>SPC m s e</kbd> | insert italic
<kbd>SPC m s c</kbd> | insert code
<kbd>SPC m s b</kbd> | insert blockquote
<kbd>SPC m s B</kbd> | blockquote region
<kbd>SPC m s p</kbd> | insert pre
<kbd>SPC m s P</kbd> | pre region
<kbd>SPC m h h</kbd> | insert header dwim
<kbd>SPC m h H</kbd> | insert header setext dwim
<kbd>SPC m h 1</kbd> | insert header atx 1
<kbd>SPC m h 2</kbd> | insert header atx 2
<kbd>SPC m h 3</kbd> | insert header atx 3
<kbd>SPC m h 4</kbd> | insert header atx 4
<kbd>SPC m h 5</kbd> | insert header atx 5
<kbd>SPC m h 6</kbd> | insert header atx 6
<kbd>SPC m h !</kbd> | insert header setext 1
<kbd>SPC m h @</kbd> | insert header setext 2
<kbd>SPC m r b</kbd> | make region bold or insert bold
<kbd>SPC m r i</kbd> | make region italic or insert italic
<kbd>SPC m r c</kbd> | make region code or insert code
<kbd>SPC m r q</kbd> | make region blockquote or insert blockquote
<kbd>SPC m r Q</kbd> | blockquote region
<kbd>SPC m r p</kbd> | make region or insert pre
<kbd>SPC m r P</kbd> | pre region
### Element removal
@ -81,7 +82,7 @@ To generate a table of contents type on top of the buffer:
----------------------|------------------------------------------------------------
<kbd>SPC m k</kbd> | kill thing at point
### Promotion, Demotion, Completion, and Cycling
### Completion, and Cycling
Key Binding | Description
----------------------|------------------------------------------------------------
@ -107,11 +108,10 @@ To generate a table of contents type on top of the buffer:
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m n</kbd> | outline next visible heading
<kbd>SPC m p</kbd> | outline previous visible heading
<kbd>SPC m f</kbd> | outline forward same level
<kbd>SPC m b</kbd> | outline backward same level
<kbd>SPC m u</kbd> | outline up heading
<kbd>gj</kbd> | outline forward same level
<kbd>gk</kbd> | outline backward same level
<kbd>gh</kbd> | outline up one level
<kbd>gl</kbd> | outline next visible heading
### Buffer-wide commands
@ -146,6 +146,15 @@ To generate a table of contents type on top of the buffer:
<kbd>SPC m N</kbd> | next link
<kbd>SPC m P</kbd> | previous link
### Promotion, Demotion
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>M-k</kbd> | markdown-move-up
<kbd>M-j</kbd> | markdown-move-down
<kbd>M-h</kbd> | markdown-promote
<kbd>M-l</kbd> | markdown-demote
[markdown-mode]: http://jblevins.org/git/markdown-mode.git/
[markdown-toc]: https://github.com/ardumont/markdown-toc

View File

@ -48,17 +48,17 @@
"mh6" 'markdown-insert-header-atx-6
"mh!" 'markdown-insert-header-setext-1
"mh@" 'markdown-insert-header-setext-2
;; text manipulation
"mtb" 'markdown-insert-bold
"mti" 'markdown-insert-italic
"mtc" 'markdown-insert-code
"mtq" 'markdown-insert-blockquote
"mtQ" 'markdown-blockquote-region
"mtp" 'markdown-insert-pre
"mtP" 'markdown-pre-region
;; region manipulation
"mrb" 'markdown-insert-bold
"mri" 'markdown-insert-italic
"mrc" 'markdown-insert-code
"mrq" 'markdown-insert-blockquote
"mrQ" 'markdown-blockquote-region
"mrp" 'markdown-insert-pre
"mrP" 'markdown-pre-region
;; Element removal
"mk" 'markdown-kill-thing-at-point
;; Promotion, Demotion, Completion, and Cycling
;; Completion, and Cycling
"m]" 'markdown-complete
;; Following and Jumping
"mo" 'markdown-follow-thing-at-point
@ -66,8 +66,6 @@
;; Indentation
"m>" 'markdown-indent-region
"m<" 'markdown-exdent-region
;; Header navigation
"mp" 'outline-previous-visible-heading
;; Buffer-wide commands
"mc]" 'markdown-complete-buffer
"mcm" 'markdown-other-window
@ -86,7 +84,7 @@
"mN" 'markdown-next-link
"mP" 'markdown-previous-link)
;; normal state movements
;; Header navigation in normal state movements
(evil-define-key 'normal markdown-mode-map
"gj" 'outline-forward-same-level
"gk" 'outline-backward-same-level
@ -94,6 +92,8 @@
;; next visible heading is not exactly what we want but close enough
"gl" 'outline-next-visible-heading
)
;; Promotion, Demotion
(define-key markdown-mode-map (kbd "M-k") 'markdown-move-up)
(define-key markdown-mode-map (kbd "M-j") 'markdown-move-down)
(define-key markdown-mode-map (kbd "M-h") 'markdown-promote)

View File

@ -12,6 +12,8 @@
- [Different bullets](#different-bullets)
- [Key bindings](#key-bindings)
- [Org with evil-org-mode](#org-with-evil-org-mode)
- [Element insertion](#element-insertion)
- [Org emphasize](#org-emphasize)
- [Pomodoro](#pomodoro)
- [Org-repo-todo](#org-repo-todo)
@ -51,26 +53,27 @@ You can tweak the bullets displayed in the org buffer in the function
### Org with evil-org-mode
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m a</kbd> | org-agenda
<kbd>SPC m A</kbd> | org-archive-subtree
<kbd>SPC m c</kbd> | org-capture
<kbd>SPC m C</kbd> | evil-org-recompute-clocks
<kbd>SPC m d</kbd> | org-deadline
<kbd>SPC m e</kbd> | org-export-dispatch
<kbd>SPC m f</kbd> | org-set-effort
<kbd>SPC m i</kbd> | org-clock-in
<kbd>SPC m j</kbd> | helm-org-in-buffer-headings
<kbd>SPC m l</kbd> | evil-org-open-links
<kbd>SPC m m</kbd> | org-ctrl-c-ctrl-c
<kbd>SPC m n</kbd> | org-narrow-to-subtree
<kbd>SPC m N</kbd> | widen
<kbd>SPC m o</kbd> | org-clock-out
<kbd>SPC m q</kbd> | org-clock-cancel
<kbd>SPC m r</kbd> | org-refile
<kbd>SPC m s</kbd> | org-schedule
<kbd>SPC m t</kbd> | org-show-todo-tree
Key Binding | Description
------------------------------------------------------|------------------------------
<kbd>SPC m '</kbd> | org-edit-special
<kbd>SPC m a</kbd> | org-agenda
<kbd>SPC m A</kbd> | org-archive-subtree
<kbd>SPC m c</kbd> | org-capture
<kbd>SPC m C</kbd> | evil-org-recompute-clocks
<kbd>SPC m d</kbd> | org-deadline
<kbd>SPC m e</kbd> | org-export-dispatch
<kbd>SPC m f</kbd> | org-set-effort
<kbd>SPC m I</kbd> | org-clock-in
<kbd>SPC m j</kbd> | helm-org-in-buffer-headings
<kbd>SPC m n</kbd> | org-narrow-to-subtree
<kbd>SPC m N</kbd> | widen
<kbd>SPC m <dotspacemacs-major-mode-leader-key></kbd> | org-ctrl-c-ctrl-c
<kbd>SPC m o</kbd> | evil-org-open-links
<kbd>SPC m O</kbd> | org-clock-out
<kbd>SPC m q</kbd> | org-clock-cancel
<kbd>SPC m R</kbd> | org-refile
<kbd>SPC m s</kbd> | org-schedule
<kbd>SPC m T</kbd> | org-show-todo-tree
Key Binding | Description
----------------------|------------------------------------------------------------
@ -88,7 +91,7 @@ You can tweak the bullets displayed in the org buffer in the function
<kbd>H</kbd> | org-beginning-of-line
<kbd>L</kbd> | org-end-of-line
<kbd>o</kbd> | always-insert-item
<kbd>O</kbd> | org-insert-heading
<kbd>O</kbd> | org-open-above
Key Binding | Description
----------------------|------------------------------------------------------------
@ -103,6 +106,27 @@ You can tweak the bullets displayed in the org buffer in the function
<kbd>M-o</kbd> | org-insert-heading+org-metaright
<kbd>M-t</kbd> | org-insert-todo-heading nil+ org-metaright
#### Element insertion
Key Binding | Description
----------------------------|------------------------------------------------------------
<kbd>SPC m h h</kbd> | org-insert-heading-after-current
<kbd>SPC m h H</kbd> | org-insert-heading
<kbd>SPC m i l</kbd> | org-insert-link
<kbd>SPC m i f</kbd> | org-insert-footnote
#### Org emphasize
Key Binding | Description
----------------------------|------------------------------------------------------------
<kbd>SPC m r b</kbd> | make region bold
<kbd>SPC m r i</kbd> | make region italic
<kbd>SPC m r c</kbd> | make region code
<kbd>SPC m r u</kbd> | make region underline
<kbd>SPC m r v</kbd> | make region verbose
<kbd>SPC m r s</kbd> | make region strike-through
<kbd>SPC m r SPC</kbd> | clear region emphasis
### Pomodoro
Key Binding | Description
@ -113,6 +137,7 @@ You can tweak the bullets displayed in the org buffer in the function
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC C c</kbd> | org-capture
<kbd>SPC C t</kbd> | ort/capture-todo
<kbd>SPC C T</kbd> | ort/capture-todo-check
<kbd>SPC m g t</kbd> | ort/goto-todos

View File

@ -37,7 +37,7 @@
"a" nil "ma" 'org-agenda
"c" nil "mA" 'org-archive-subtree
"o" nil "mC" 'evil-org-recompute-clocks
"l" nil "m <RET>" 'evil-org-open-links
"l" nil "mo" 'evil-org-open-links
"t" nil "mT" 'org-show-todo-tree)
(evil-define-key 'normal evil-org-mode-map
"O" 'evil-open-above
@ -57,7 +57,7 @@
(setq org-startup-indented t)
(defmacro spacemacs|org-emphasize (fname char)
"Make function for setting the emphasize in org mode"
"Make function for setting the emphasis in org mode"
`(defun ,fname () (interactive)
(org-emphasize ,char))
)
@ -74,8 +74,9 @@
"mN" 'widen
"mO" 'org-clock-out
"mq" 'org-clock-cancel
"mr" 'org-refile
"mS" 'org-schedule
"mR" 'org-refile
"ms" 'org-schedule
"m'" 'org-edit-special
;; headings
"mhh" 'org-insert-heading-after-current
"mhH" 'org-insert-heading
@ -84,14 +85,14 @@
"mif" 'org-footnote-new
;; images and other link types have no commands in org mode-line
;; could be inserted using yasnippet?
;; text manipulation
"mtb" (spacemacs|org-emphasize spacemacs/org-bold ?*)
"mti" (spacemacs|org-emphasize spacemacs/org-italic ?/)
"mtc" (spacemacs|org-emphasize spacemacs/org-code ?~)
"mtu" (spacemacs|org-emphasize spacemacs/org-underline ?_)
"mtv" (spacemacs|org-emphasize spacemacs/org-verbose ?=)
"mts" (spacemacs|org-emphasize spacemacs/org-strike-through ?+)
"mt <SPC>" (spacemacs|org-emphasize spacemacs/org-clear ? )
;; region manipulation
"mrb" (spacemacs|org-emphasize spacemacs/org-bold ?*)
"mri" (spacemacs|org-emphasize spacemacs/org-italic ?/)
"mrc" (spacemacs|org-emphasize spacemacs/org-code ?~)
"mru" (spacemacs|org-emphasize spacemacs/org-underline ?_)
"mrv" (spacemacs|org-emphasize spacemacs/org-verbose ?=)
"mrs" (spacemacs|org-emphasize spacemacs/org-strike-through ?+)
"mr <SPC>" (spacemacs|org-emphasize spacemacs/org-clear ? )
)
(eval-after-load "org-agenda"

View File

@ -222,6 +222,76 @@ Notes:
the spacemacs level and ideally the function should be proposed as a patch
upstream (major mode repository).
### Plain Text Markup Languages
For layers supporting markup languages please follow the following keybindings
whenever applicable.
#### Headers ####
All header functionality should be grouped under <kbd>SPC m h</kbd>
Key Binding | Description
---------------------|------------------------------------------------------------
<kbd>m h h</kbd> | Insert a header
<kbd>m h H</kbd> | Insert a header alternative method (if existing)
<kbd>m h 1</kbd> | Insert a header of level 1 (if possible)
<kbd>m h 2</kbd> | Insert a header of level 2 (if possible)
#### Text manipulation ####
Manipulation of text regions should be grouped under <kbd>SPC m r</kbd>
Key Binding | Description
---------------------|------------------------------------------------------------
<kbd>m r b</kbd> | Make region bold
<kbd>m r i</kbd> | Make region italic
<kbd>m r c</kbd> | Make region code
<kbd>m r u</kbd> | Make region underlined
<kbd>m r v</kbd> | Make region verbose
<kbd>m r s</kbd> | Make region strike-through
<kbd>m r q</kbd> | Quote a region
<kbd>m r <SPC></kbd> | Remove formatting from region
#### Insertion of common elements ####
Insertion of common elements like links or footnotes should be grouped under <kbd>SPC m i</kbd>
Key Binding | Description
---------------------|------------------------------------------------------------
<kbd>m i l</kbd> | Insert link
<kbd>m i u</kbd> | Insert url
<kbd>m i f</kbd> | Insert footnote
<kbd>m i w</kbd> | Insert wiki-link
<kbd>m i i</kbd> | Insert image
#### Movement in normal mode ####
In normal mode Vim style movement should be enabled with these keybindings:
Key Binding | Description
---------------------|------------------------------------------------------------
<kbd>gh</kbd> | Move up one level in headings
<kbd>gl</kbd> | Move down one level in headings
<kbd>gj</kbd> | Move to next heading on same level
<kbd>gk</kbd> | Move to previous heading on same level
#### Promotion, Demotion and element movement ####
Promotion and demotion and movement of headings or list elements (whatever is possible)
should be enabled with the following keys in any mode
Key Binding | Description
---------------------|------------------------------------------------------------
<kbd>M-j</kbd> | Move element down
<kbd>M-k</kbd> | Move element up
<kbd>M-h</kbd> | Promote heading by one level
<kbd>M-l</kbd> | Demote heading by one level
#### Table editing ####
If table specific commands are available the they are grouped under the <kbd>SPC m t</kbd> group.
### Tests
A lot of languages have their own test frameworks. These frameworks share