aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vim/after/ftplugin/markdown.vim6
-rw-r--r--vim/autoload/markdown.vim6
2 files changed, 12 insertions, 0 deletions
diff --git a/vim/after/ftplugin/markdown.vim b/vim/after/ftplugin/markdown.vim
index 7189a09a..6634924e 100644
--- a/vim/after/ftplugin/markdown.vim
+++ b/vim/after/ftplugin/markdown.vim
@@ -31,3 +31,9 @@ xnoremap <buffer> <expr> <LocalLeader>Q
\ quote#QuoteReformat()
let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>Q'
\ . '|xunmap <buffer> <LocalLeader>Q'
+
+" Autoformat headings
+nnoremap <buffer> <LocalLeader>-
+ \ :<C-U>call markdown#Heading('-')<CR>
+nnoremap <buffer> <LocalLeader>=
+ \ :<C-U>call markdown#Heading('=')<CR>
diff --git a/vim/autoload/markdown.vim b/vim/autoload/markdown.vim
new file mode 100644
index 00000000..34c7bda7
--- /dev/null
+++ b/vim/autoload/markdown.vim
@@ -0,0 +1,6 @@
+" Add an underline under a heading
+function! markdown#Heading(char) abort
+ let heading = getline('.')
+ let underline = repeat(a:char, strlen(heading))
+ call append(line('.'), underline)
+endfunction