diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-04 02:51:50 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-04 02:51:50 +1300 |
commit | bfec788882cba3b6711d42c747960784daec012c (patch) | |
tree | 85233354da7d2152ebd7fc914bfa02b8c3a387f5 /vim/plugin | |
parent | Spin stable join config out into new plugin (diff) | |
download | dotfiles-bfec788882cba3b6711d42c747960784daec012c.tar.gz dotfiles-bfec788882cba3b6711d42c747960784daec012c.zip |
Spin copyable linebreak config into new plugin
Calling this one copy_linebreak.vim. Renamed both the internal function
and the plugin key.
Diffstat (limited to 'vim/plugin')
-rw-r--r-- | vim/plugin/copy_linebreak.vim | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vim/plugin/copy_linebreak.vim b/vim/plugin/copy_linebreak.vim new file mode 100644 index 00000000..ac21b66d --- /dev/null +++ b/vim/plugin/copy_linebreak.vim @@ -0,0 +1,36 @@ +" +" Bind a user-defined key sequence to turn off linebreak and toggle the +" showbreak characters and breakindent mode on and off, for convenience of +" copying multiple lines from terminal emulators. +" +" Suggested mapping: <leader>b +" +if has('eval') + + " Define function + function! s:CopyLinebreak() + + " If linebreak is on, turn it off + if &l:linebreak + setlocal nolinebreak linebreak? + setlocal showbreak= + if exists('&breakindent') + setlocal nobreakindent + endif + + " If it's off, turn it on + else + setlocal linebreak linebreak? + setlocal showbreak< + if exists('&breakindent') + setlocal breakindent + endif + endif + + endfunction + + " Provide mapping proxy to the function just defined + " Suggested mapping: <leader>b + noremap <Plug>CopyLinebreak + \ :<C-U>call <SID>CopyLinebreak()<CR> +endif |