" NrrwRgn.vim - Narrow Region plugin for Vim " ------------------------------------------------------------- " Version: 0.33 " Maintainer: Christian Brabandt " Last Change: Thu, 15 Jan 2015 20:52:29 +0100 " Script: http://www.vim.org/scripts/script.php?script_id=3075 " Copyright: (c) 2009-2015 by Christian Brabandt " The VIM LICENSE applies to NrrwRgn.vim " (see |copyright|) except use "NrrwRgn.vim" " instead of "Vim". " No warranty, express or implied. " *** *** Use At-Your-Own-Risk! *** *** " GetLatestVimScripts: 3075 33 :AutoInstall: NrrwRgn.vim " " Init: {{{1 let s:cpo= &cpo if exists("g:loaded_nrrw_rgn") || &cp finish endif set cpo&vim let g:loaded_nrrw_rgn = 1 " Debug Setting let s:debug=0 if s:debug exe "call nrrwrgn#Debug(1)" endif " ---------------------------------------------------------------------------- " Public Interface: {{{1 " plugin functions "{{{2 fun! NrrwRgnOp(type, ...) " {{{3 " used for operator function mapping let sel_save = &selection let &selection = "inclusive" if a:0 " Invoked from Visual mode, use '< and '> marks. sil exe "normal! `<" . a:type . "`>y" elseif a:type == 'line' sil exe "normal! '[V']y" elseif a:type == 'block' sil exe "normal! `[\`]y" else sil exe "normal! `[v`]y" endif call nrrwrgn#NrrwRgn(visualmode(), '') let &selection = sel_save endfu " Define the Command aliases "{{{2 com! -range -bang NRPrepare :,NRP com! -bang -range NarrowRegion :,NR com! -bang NRMulti :NRM com! -bang NarrowWindow :NW com! -bang NRLast :NRL " Define the actual Commands "{{{2 com! -range -bang NR :, call nrrwrgn#NrrwRgn('',) com! -range -bang NRP :, call nrrwrgn#Prepare() com! -bang -range NRV :call nrrwrgn#NrrwRgn(visualmode(), ) com! -range NRUnprepare :, call nrrwrgn#Unprepare() com! NUD :call nrrwrgn#UnifiedDiff() com! -bang NW :exe ":" . line('w0') . ',' . line('w$') . "call nrrwrgn#NrrwRgn(0,)" com! -bang NRM :call nrrwrgn#NrrwRgnDoMulti() com! -bang NRL :call nrrwrgn#LastNrrwRgn() " Define the Mapping: "{{{2 if !hasmapto('NrrwrgnDo') && !get(g:, 'nrrw_rgn_nomap_nr', 0) xmap nr NrrwrgnDo nmap nr NrrwrgnDo endif if !hasmapto('NrrwrgnBangDo') && !get(g:, 'nrrw_rgn_nomap_Nr', 0) xmap Nr NrrwrgnBangDo endif if !hasmapto('VisualNrrwRgn') xnoremap