From 87a9cad539139ae52cf38752ef6537fec8f0f157 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Tue, 13 May 2014 19:57:07 -0400 Subject: vimrc: create CopyModeToggle command A command that removes line numbers and invisibles in one go so that text can be more easily selected and copied at the OS level. --- vimrc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/vimrc b/vimrc index ed4bcf4..f5d47b5 100644 --- a/vimrc +++ b/vimrc @@ -119,6 +119,11 @@ " 2014.05.12: " * Map tn to :tabnew " +" 2014.05.13: +" * Create function and command for "Copy Mode". A quick way to remove +" line numbers and invisibles so that text can be selected and copied +" at the OS level. +" " Pathogen @@ -415,6 +420,26 @@ endfunction command! -nargs=* Wrap set wrap linebreak nolist +" Remove line numbers and invisibles so that text can be selected for an OS copy +let b:copy_mode_enabled = 0 +let b:copy_mode_number = &l:number +let b:copy_mode_list = &l:list +function! CopyModeToggle() + if b:copy_mode_enabled + let &l:number = b:copy_mode_number + let &l:list = b:copy_mode_list + let b:copy_mode_enabled = 0 + else + let b:copy_mode_number = &l:number + let b:copy_mode_list = &l:list + set nonumber nolist + let b:copy_mode_enabled = 1 + endif +endfunction + +command! CopyModeToggle call CopyModeToggle() + + " Autocommands " ============ -- cgit v1.2.3