]>
git.madduck.net Git - etc/vim.git/blobdiff - ftplugin/mkd.vim
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
" For each level, contains the regexp that matches at that level only.
let s:levelRegexpDict = {
" For each level, contains the regexp that matches at that level only.
let s:levelRegexpDict = {
- \ 1: '\v^(\s* #[^#]|.+\n\=+$)',
- \ 2: '\v^(\s* ##[^#]|.+\n-+$)',
- \ 3: '\v^\s* ###[^#]',
- \ 4: '\v^\s* ####[^#]',
- \ 5: '\v^\s* #####[^#]',
- \ 6: '\v^\s* ######[^#]'
+ \ 1: '\v^(#[^#]|.+\n\=+$)',
+ \ 2: '\v^(##[^#]|.+\n-+$)',
+ \ 3: '\v^###[^#]',
+ \ 4: '\v^####[^#]',
+ \ 5: '\v^#####[^#]',
+ \ 6: '\v^######[^#]'
\ }
" Maches any header level of any type.
\ }
" Maches any header level of any type.
" This could be deduced from `s:levelRegexpDict`, but it is more
" efficient to have a single regexp for this.
"
" This could be deduced from `s:levelRegexpDict`, but it is more
" efficient to have a single regexp for this.
"
-let s:headersRegexp = '\v^(\s* #|.+\n(\=+|-+)$)'
+let s:headersRegexp = '\v^(#|.+\n(\=+|-+)$)'
" Returns the line number of the first header before `line`, called the
" current header.
" Returns the line number of the first header before `line`, called the
" current header.
try
silent vimgrep /\(^\S.*\(\n[=-]\+\)\@=\|^#\+\)/ %
catch /E480/
try
silent vimgrep /\(^\S.*\(\n[=-]\+\)\@=\|^#\+\)/ %
catch /E480/
- echom "Toc: No headers."
+ echom "Toc: No headers."
" atx headers
if match(d.text, "^#") > -1
let l:level = len(matchstr(d.text, '#*', 'g'))-1
" atx headers
if match(d.text, "^#") > -1
let l:level = len(matchstr(d.text, '#*', 'g'))-1
- let d.text = d.text[l:level+2:]
- " setex headers
+ let d.text = substitute(d.text, '\v^#*[ ]*', '', '')
+ let d.text = substitute(d.text, '\v[ ]*#*$', '', '')
+ " setex headers
else
let l:next_line = getbufline(bufname(d.bufnr), d.lnum+1)
if match(l:next_line, "=") > -1
else
let l:next_line = getbufline(bufname(d.bufnr), d.lnum+1)
if match(l:next_line, "=") > -1
" Menmonic: Current
call <sid>MapNormVis('<Plug>(Markdown_MoveToCurHeader)', '<sid>Markdown_MoveToCurHeader')
" Menmonic: Current
call <sid>MapNormVis('<Plug>(Markdown_MoveToCurHeader)', '<sid>Markdown_MoveToCurHeader')
-if ! exists('g:vim_markdown_no_default_key_mappings')
-\ || !g:vim_markdown_no_default_key_mappings
+if !get(g:, 'vim_markdown_no_default_key_mappings', 0)
nmap ]] <Plug>(Markdown_MoveToNextHeader)
nmap [[ <Plug>(Markdown_MoveToPreviousHeader)
nmap ][ <Plug>(Markdown_MoveToNextSiblingHeader)
nmap ]] <Plug>(Markdown_MoveToNextHeader)
nmap [[ <Plug>(Markdown_MoveToPreviousHeader)
nmap ][ <Plug>(Markdown_MoveToNextSiblingHeader)