From 9dbeb67de5a59d3beb11733a23354be94375d313 Mon Sep 17 00:00:00 2001 From: jdhao Date: Sun, 27 Mar 2022 00:04:39 +0800 Subject: [PATCH] [feat] add mapping to add hard linebreak for Markdown --- after/ftplugin/markdown.vim | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/after/ftplugin/markdown.vim b/after/ftplugin/markdown.vim index 6e4f24e..efea5e5 100644 --- a/after/ftplugin/markdown.vim +++ b/after/ftplugin/markdown.vim @@ -45,3 +45,25 @@ function! AddListSymbol(type, ...) abort call setline(line, new_text) endfor endfunction + +" Add hard line breaks for Markdown +nnoremap \ :set operatorfunc=AddLineBreakg@ +xnoremap \ : call AddLineBreak(visualmode(), 1) + +function! AddLineBreak(type, ...) abort + if a:0 + let line_start = line("'<") + let line_end = line("'>") + else + let line_start = line("'[") + let line_end = line("']") + endif + + for line in range(line_start, line_end) + let text = getline(line) + " add backslash to each line + let new_text = text . "\\" + + call setline(line, new_text) + endfor +endfunction