From 49143bd2b4934c983b55e22141ff4dc88eb31bfb Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Mon, 30 Oct 2017 21:57:26 +1300 Subject: Move linebreak Vim config into wrap config subfile 'linebreak', 'showbreak', 'breakindent', and 'breakindent' are only relevant when 'wrap' is on, so it makes sense for their settings to be grouped together. --- vim/config/wrap.vim | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'vim/config/wrap.vim') diff --git a/vim/config/wrap.vim b/vim/config/wrap.vim index 1316e12e..eb70751e 100644 --- a/vim/config/wrap.vim +++ b/vim/config/wrap.vim @@ -13,3 +13,35 @@ nnoremap w :set wrap! " line anyway if you need to nnoremap j gj nnoremap k gk + +" Break lines at word boundaries if possible and not simply at the last +" character that will fit on the screen, preceding the next line with three +" periods to make it obvious that it's a continuation of the previous line +if has('linebreak') + set linebreak + set showbreak=... + if v:version > 704 || v:version ==# 704 && has('patch338') + set breakindent + endif + + " Bind \b to turn off linebreak and toggle the showbreak characters on and + " off for convenience of copypasting multiple lines from terminal emulators. + if has('eval') + function! s:ToggleBreak() + if &linebreak + set nolinebreak + set showbreak= + if v:version > 704 || v:version ==# 704 && has('patch338') + set nobreakindent + endif + else + set linebreak + set showbreak=... + if v:version > 704 || v:version ==# 704 && has('patch338') + set breakindent + endif + endif + endfunction + nnoremap b :call ToggleBreak() + endif +endif -- cgit v1.2.3