mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Add mappings for Markdown
Use + to turn lines to an unordered list quickly.
This commit is contained in:
parent
12bc009d2d
commit
1e96062c60
@ -14,3 +14,31 @@ xnoremap <buffer><silent> ic :<C-U>call text_obj#MdCodeBlock('i')<CR>
|
|||||||
xnoremap <buffer><silent> ac :<C-U>call text_obj#MdCodeBlock('a')<CR>
|
xnoremap <buffer><silent> ac :<C-U>call text_obj#MdCodeBlock('a')<CR>
|
||||||
onoremap <buffer><silent> ic :<C-U>call text_obj#MdCodeBlock('i')<CR>
|
onoremap <buffer><silent> ic :<C-U>call text_obj#MdCodeBlock('i')<CR>
|
||||||
onoremap <buffer><silent> ac :<C-U>call text_obj#MdCodeBlock('a')<CR>
|
onoremap <buffer><silent> ac :<C-U>call text_obj#MdCodeBlock('a')<CR>
|
||||||
|
|
||||||
|
" Use + to turn several lines to an unordered list.
|
||||||
|
nnoremap <buffer><silent> + :set operatorfunc=AddListSymbol<CR>g@
|
||||||
|
xnoremap <buffer><silent> + :<C-U> call AddListSymbol(visualmode(), 1)<CR>
|
||||||
|
|
||||||
|
function! AddListSymbol(type, ...) abort
|
||||||
|
if a:0
|
||||||
|
let line_start = line("'<")
|
||||||
|
let line_end = line("'>")
|
||||||
|
else
|
||||||
|
let line_start = line("'[")
|
||||||
|
let line_end = line("']")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" add list symbol to each line
|
||||||
|
for line in range(line_start, line_end)
|
||||||
|
let text = getline(line)
|
||||||
|
|
||||||
|
let end = matchend(text, '^\s*')
|
||||||
|
if end == 0
|
||||||
|
let new_text = '+ ' . text
|
||||||
|
else
|
||||||
|
let new_text = text[0:end-1] . ' + ' . text[end:]
|
||||||
|
endif
|
||||||
|
|
||||||
|
call setline(line, new_text)
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user