diff options
Diffstat (limited to 'Editor/vim/boxdraw')
| -rw-r--r-- | Editor/vim/boxdraw/bdua2b.pl | 91 | ||||
| -rw-r--r-- | Editor/vim/boxdraw/bdub2a.pl | 30 | ||||
| -rw-r--r-- | Editor/vim/boxdraw/boxdraw.txt | 164 | ||||
| -rw-r--r-- | Editor/vim/boxdraw/boxdraw.vim | 291 | ||||
| -rw-r--r-- | Editor/vim/boxdraw/outline.pl | 74 | ||||
| -rw-r--r-- | Editor/vim/boxdraw/sampler.txt | 13 | 
6 files changed, 0 insertions, 663 deletions
diff --git a/Editor/vim/boxdraw/bdua2b.pl b/Editor/vim/boxdraw/bdua2b.pl deleted file mode 100644 index 2e94b9a..0000000 --- a/Editor/vim/boxdraw/bdua2b.pl +++ /dev/null @@ -1,91 +0,0 @@ -# Convert +-| style drawings into utf characters
 -# BoxDraw-unicode-ascii to box
 -# 2003-11-24 10:12:22 created by nsg
 -# 2003-11-25 13:16:17 renamed and small fix in "intelligence"
 -# 2004-06-18 14:18:11 boxsets
 -# 2004-06-21 21:41:30 hex input codes
 -use strict;
 -use utf8;
 -use 5.8.0;
 -use Getopt::Std;
 -
 -our (
 -  $opt_s, # boxset 's', 'd', 'v' or 'h'
 -  $opt_x, # convert hex digits into appropriate bd characters
 -  $opt_t, # ternary codes ' ' .. 'p' 
 -);
 -getopts("s:xt");
 -$opt_s||='s';
 -
 -my $o_utf8='--0251--001459--50585a----------0202----0c1c----525e------------51--51--53--5f--54--60------------------------------------------00185c--003468------------------1024----2c3c--------------------56--62--65--6b--------------------------------------------------505b5d----------506769----------5561------------646a------------57--63----------66--6c------------------------------------------------------------------01';
 -
 -binmode (STDOUT, ":utf8");
 -my %boxset=(
 -# 1|.,'}\u{25',"1 (_2 ]\ o_utf8) {~ 4#.2*#:i.16
 - 's'=>" \x{2502}\x{2500}\x{2514}\x{2502}\x{2502}\x{250c}\x{251c}\x{2500}\x{2518}\x{2500}\x{2534}\x{2510}\x{2524}\x{252c}\x{253c}\n",
 - 'd'=>" \x{2551}\x{2550}\x{255a}\x{2551}\x{2551}\x{2554}\x{2560}\x{2550}\x{255d}\x{2550}\x{2569}\x{2557}\x{2563}\x{2566}\x{256c}\n",
 - 'h'=>" \x{2502}\x{2550}\x{2558}\x{2502}\x{2502}\x{2552}\x{255e}\x{2550}\x{255b}\x{2550}\x{2567}\x{2555}\x{2561}\x{2564}\x{256a}\n",
 - 'v'=>" \x{2551}\x{2500}\x{2559}\x{2551}\x{2551}\x{2553}\x{255f}\x{2500}\x{255c}\x{2500}\x{2568}\x{2556}\x{2562}\x{2565}\x{256b}\n",
 -);
 -
 -my $BOX=$boxset{$opt_s} || $boxset{'s'};
 -
 -my $prev='';
 -my $pprev='';
 -while(<STDIN>) {
 -  process_line();
 -}
 -process_line();
 -
 -sub process_line
 -{
 - my $out='';
 - for(my $i=0; $i<length($prev); ++$i) {
 -   my $code=0;
 -   my $c=substr($prev,$i,1);
 -   if( $opt_x ) {
 -     $code=0;
 -     $code=hex($c) if $c=~/[[:xdigit:]]/;
 -   } elsif( $opt_t ) {
 -     $code=0;
 -     if( ord($c)>32 ) {
 -       $c=ord($c)-32;
 -       for(0..3){$code =($code>>2)+(($c%3)<<6); $c=int($c/3);}
 -       $c=chr(hex('25'.substr($o_utf8, $code*2,2)));
 -     }
 -     $code=0;
 -   } else {
 -     if( $c=~/[-+\|]/ ) {
 -       $code |= 1 if substr($pprev,$i  ,1)=~/[\|+]/ ;
 -       $code |= 2 if substr($prev ,$i+1,1)=~/[-+]/ ;
 -       $code |= 4 if substr($_    ,$i  ,1)=~/[\|+]/ ;
 -       $code |= 8 if substr($prev ,$i-1,1)=~/[-+]/ ;
 -
 -       $code = 10 if $code && '-' eq $c;
 -       $code = 5 if $code && '|' eq $c;
 -     }
 -   }
 -   $out.=$code?substr($BOX,$code,1):$c;
 - }
 - print $out;
 - $pprev=$prev;
 - $prev=$_;
 -}
 -
 -#
 -#  
 -#  0001 02
 -#  0010 00
 -#  0011 14
 -#  0100 02
 -#  0101 02
 -#  0110 0c
 -#  0111 1c
 -#  1000 00
 -#  1001 18
 -#  1010 00
 -#  1011 34
 -#  1100 10
 -#  1101 24
 -#  1110 2c
 -#  1111 3c
 diff --git a/Editor/vim/boxdraw/bdub2a.pl b/Editor/vim/boxdraw/bdub2a.pl deleted file mode 100644 index 4482923..0000000 --- a/Editor/vim/boxdraw/bdub2a.pl +++ /dev/null @@ -1,30 +0,0 @@ -# Convert +-| style drawings into utf characters
 -# BoxDraw-unicode-box to ascii
 -# 2003-11-25 12:48:17 -- created by nsg
 -
 -use 5.8.0;
 -use strict;
 -use utf8;
 -# binmode (STDOUT, ":utf8"); # incompatible with perl 5.6.1
 -# binmode (STDIN, ":utf8"); # incompatible with perl 5.6.1
 -
 -while(<STDIN>) {
 -  my $l=length;
 -  tr/┌┬┐╓╥╖╒╤╕╔╦╗├┼┤╟╫╢╞╪╡╠╬╣└┴┘╙╨╜╘╧╛╚╩╝/++++++++++++++++++++++++++++++++++++/;
 -  tr/═─│║/\-\-\|\|/;
 -  printf "%03d ",$l;
 -  print ;
 -}
 -
 -# corners/splits:
 -#  ┌┬┐╓╥╖╒╤╕╔╦╗ 6ec
 -#  ├┼┤╟╫╢╞╪╡╠╬╣ 7fd
 -#  └┴┘╙╨╜╘╧╛╚╩╝ 3b9
 -# round corners:
 -# 256d  256e
 -# 2570  256f
 -# horizontal
 -#  ═ ─
 -# vertical
 -#  │ ║
 -
 diff --git a/Editor/vim/boxdraw/boxdraw.txt b/Editor/vim/boxdraw/boxdraw.txt deleted file mode 100644 index b821a43..0000000 --- a/Editor/vim/boxdraw/boxdraw.txt +++ /dev/null @@ -1,164 +0,0 @@ -Summary
 --------
 - * Draw diagrams and tables using "real box drawing characters" (AKA ANSI
 -art).
 - * Move rectangular/linear blocks of text around.
 - * Trace box-drawing typeset diagrams -- follow the lines, etc.
 -
 -Detailed description
 ---------------------
 -These scripts facilitate drawing simple 'ANSI' graphic containing box
 -drawing characters (not just '+', '-' and '|', but REAL box drawing
 -characters).  It can be useful to draw diagrams and fancy tables (at
 -least, I use it this way).
 -
 -Upon sourcing the script defines several macros:
 -
 -<shift+arrow> -- moves cursor in specified direction leaving trail of
 -box drawing characters, making all joins and crossings.
 -g+<arrow> -- follow line of boxdrawing characters until it reaches
 -intersection or ends.
 -<shift+arrow> in visual mode -- move selected rectangular block in
 -specified direction.
 -\e -- ends box drawing mode (unmap shift+arrows macros and restore
 -virtualedit value)
 -\b -- restarts box drawing (map shift+arrows macros and set virtual
 -      edit=all)
 -\s -- selects 'single-line' boxdrawing characters
 -\d -- selects 'double-line' boxdrawing characters
 -\a -- convert all characters in selection into ascii '+', '-', '|' (utf8
 -      only, not implemented)
 -("\" prefix may be changed by changing mapleader variable, see :h mapleader)
 -
 -When rectangular block is selected, it can be moved around using
 -<shift-arrow> keys. Unfortunately, as of version 6.1 multibyte
 -characters and rectangular blocks do not live together too good, so this
 -feature is experimental.
 -
 -When line block is selected, <shift-up> and <shift-down> moves it up or down
 -nondestructively, <shift-left> decreases indent and <shift-up> increases
 -indent.
 -
 -Currently box drawing is supported for utf8 and cp437 (DOS) encodings.
 -
 -Script does not use any "weird" box drawing characters from unicode set
 -that are not present in, say, cp437. So, it is safe to save utf-8 file
 -in any single byte encoding that contains regular single box drawing
 -characters.
 -This script also contains mapping that converts all boxdrawing
 -characters in current selection into ascii '+', '-', '|'.
 -
 -If vim encoding is single byte, this script assumes cp437 (DOS). Most
 -encodings have boxdrawing characters at the same place, however, some
 -(notably, koi8-r) have them in different code postions.
 -If you want to use it with encoding that contains such
 -characters in diferent place, please drop me a note -- I will be happy
 -to add support for that codepage too.
 -
 -To help you determine which boxdrawing characters are suppored by your
 -terminal I have included file sampler.txt. Just type it (or cat it) on
 -the termianal and encoding that labels the block that looks "right" will
 -be your supported encoding.
 -
 -Note for PuTTY users
 ---------------------
 -
 -It turns out that PuTTY does not translate Shift+Arrow combination into
 -X key code (like xterm does), so mappings will not work for this
 -terminal. I have modified initialization script to use <arrows> instead
 -of <shift>+<arrows> in Unix environment.
 -
 -Perl scripts
 -------------
 -
 -Some box-drawing related procedures are more naturally done with
 -external scripts. These scripts take ascii standard input and produce
 -utf8 encoded standard output.
 -
 -bdua2b.pl -- converts regular '+-|'-style drawing into single-line utf8
 -  boxdrawing. This script has does not just blindly replace characters,
 -  but instead looks to the neighbourhood and chooses boxdrawing
 -  character that fits best. Use this script as a filter to convert
 -  existing ascii drawings.
 -  Option -ss selects single border characters, -sd -- double border,
 -  -sh -- single vertical double horizontal, -sv single horizontal double
 -  vertical.
 -
 -outline.pl -- outlines groups of similar characters in the input with
 -  boxdrawing characters. Option -d makes output twice as wide, options
 -  -s* select boxdrawing flavor as in previous script.
 -  For example,
 -
 -  aaaacc
 -  abbcc
 -  ccbbc
 -  cccb
 -
 -will be converted into
 -
 -  ┌───┬─┐
 -  │┌─┬┘┌┘
 -  ├┴┐└┐│
 -  │ └┐├┘
 -  └──┴┘
 -
 -or
 -
 -  ┌───────┬───┐
 -  │ ┌───┬─┘ ┌─┘
 -  ├─┴─┐ └─┐ │
 -  │   └─┐ ├─┘
 -  └─────┴─┘
 -
 -
 -Both scripts were tested with ActivePerl 5.6.1.
 -
 -Plans:
 -------
 -* Support double boxes in a cleaner way.
 -
 -Installation
 -------------
 -Copy boxdraw.vim to the place where you normally keep vim scripts (e.g. ~/.vim
 -or c:\vim\vimfiles) and source it every time you want to draw a diagram or nice
 -table.
 -
 -You may wish also to add this to your menu by adding a line to your .gvimrc
 -(_gvimrc) file (use actual path to boxdraw.vim):
 -:menu Tools.Bo&x\ Draw :so ~/.vim/boxdraw.vim<CR>
 -
 -Environment
 ------------
 -I run Windows and use boxdraw.vim in gvim (it supports utf-8 very
 -nicely) and bd-single in vim (its support of utf-8 is kind of unclear
 -for me). Both major Windows monospaced fonts (Courier New and Lucida
 -Console) support wide range of Unicode characters, including box
 -drawing.
 -
 -Why use box drawing characters?
 --------------------------------
 -These characters are in Unicode standard for compatibility with wide
 -range of existing 8-bit encodings that have them. The wording of Unicode
 -standard discourages usage of such characters, other than for the
 -purpose of converting between encodigns and storage of legacy data.
 -Having said all that I found that sometimes a picture, even crude and
 -primitive, is worth pages of explanations. Just about the only way to
 -include picture in source code is to use ascii or "ansi" art. Ascii is
 -more compatible, but "ansi" looks way better. Since I have to use
 -Unicode to include cyrillic characters in comments anyway, I decided to
 -stop on "ansi" art as a format of choice for in-source drawings.
 -
 -Author
 -------
 -Andrew Nikitin <nsg21@hotmail.com>
 -
 -History
 --------
 -2002-01-09 -- v0.0 -- initial upload, single boxes in utf-8 encoding
 -2002-01-10 -- v0.1 -- double boxes
 -2002-01-30 -- v0.2 -- single-byte, box->ascii conversion
 -2003-11-24 -- v0.3 -- perl scripts + some rectangular block movements
 -2004-06-18 -- v0.4 -- following the lines, updated perl scripts
 -2004-11-26 -- v1.0 -- combined single-byte and utf8 versions, included
 -sampler.txt to help determine encoding
 -2008-12-17 -- v1.1 -- special processing for line-block movements, changed cabbr for perl
 diff --git a/Editor/vim/boxdraw/boxdraw.vim b/Editor/vim/boxdraw/boxdraw.vim deleted file mode 100644 index 284232f..0000000 --- a/Editor/vim/boxdraw/boxdraw.vim +++ /dev/null @@ -1,291 +0,0 @@ -" Box drawing module for Vim 6.0 -" (C) Andrew Nikitin, 2002 -" 2002-01-07 -- created by nsg -" 2002-01-08 -- first box drawing (single only) -" 2002-01-09 -- (00:42) fixed col(".") bug (note vim bug k"tylj does not retu) -" 2002-01-09 -- optimize -" 2002-01-10 -- double boxes -" 2002-01-16 -- use script-local var and access function instead of global -" 2002-01-30 -- ,a mapping (box->ascii conversion) -" 2003-11-10 -- implemented MB avoiding "number Ctl-V" -" 2004-06-18 -- fixed ToAscii so it replaces "─"; trace path (g+arrow) -" 2004-06-23 -- merged single-byte and utf-8 support in one file -" 2004-06-30 -- do not use shift+arrows unless in win32 -" 2008-12-17 -- special processing for line-block movements, changed cabbr for -" perl - - -let s:o_utf8='--0251--001459--50585a----------0202----0c1c----525e------------51--51--53--5f--54--60------------------------------------------00185c--003468------------------1024----2c3c--------------------56--62--65--6b--------------------------------------------------505b5d----------506769----------5561------------646a------------57--63----------66--6c------------------------------------------------------------------01' -let s:i_utf8='44cc11------------------14------50------05------41------15--------------51--------------54--------------45--------------55--------------------------------------88221824289060a009060a81428219262a9162a29864a889468a9966aa14504105------40010410' -let s:o_cp437='--b3ba--c4c0d3--cdd4c8----------b3b3----dac3----d5c6------------ba--ba--d6--c7--c9--cc------------------------------------------c4d9bd--c4c1d0------------------bfb4----c2c5--------------------b7--b6--d2--d7--------------------------------------------------cdbebc----------cdcfca----------b8b5------------d1d8------------bb--b9----------cb--ce' -let s:i_cp437='----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------115191626090a222a08242815005455415445519260a288aa82a88aa894698640609182466994114' - -let s:scriptfile=expand("<sfile>:h")  - -" -" Activate mode. Assigned to ,b macro. -" -fu! <SID>S() -  if has("gui_running") -    " se enc=utf8 -  en -  let s:ve=&ve -  setl ve=all -  " Note that typical terminal emulator program (Putty, in particular) does -  " not support Shift arrows too good. You will, probably, have to redefines -  " those to, say,  -  " ,<Up> etc. -  if has("win32") -    " Under Windows Shift+Arrows works quite smooth, unlike most terminals -    nm <S-Up> :call <SID>M(1,'k')<CR> -    nm <S-Down> :call <SID>M(16,'j')<CR> -    nm <S-Left> :call <SID>M(64,'h')<CR> -    nm <S-Right> :call <SID>M(4,'l')<CR> -    nm g<Up> :call <SID>G(0)<CR> -    nm g<Right> :call <SID>G(1)<CR> -    nm g<Down> :call <SID>G(2)<CR> -    nm g<Left> :call <SID>G(3)<CR> -    vm <S-Up>     <esc>:call <SID>MB('k')<CR> -    vm <S-Down>   <esc>:call <SID>MB('j')<CR> -    vm <S-Left>   <esc>:call <SID>MB('h')<CR> -    vm <S-Right>  <esc>:call <SID>MB('l')<CR> -  else -    nm <Up> :call <SID>M(1,'k')<CR> -    nm <Down> :call <SID>M(16,'j')<CR> -    nm <Left> :call <SID>M(64,'h')<CR> -    nm <Right> :call <SID>M(4,'l')<CR> -    nm g<Up> :call <SID>G(0)<CR> -    nm g<Right> :call <SID>G(1)<CR> -    nm g<Down> :call <SID>G(2)<CR> -    nm g<Left> :call <SID>G(3)<CR> -    vm <Up>     <esc>:call <SID>MB('k')<CR> -    vm <Down>   <esc>:call <SID>MB('j')<CR> -    vm <Left>   <esc>:call <SID>MB('h')<CR> -    vm <Right>  <esc>:call <SID>MB('l')<CR> -  en -  vmap <Leader>a :ToAscii<cr> -  nm <Leader>e :call <SID>E()<CR> -  nm <Leader>s :call <SID>SetLT(1)<CR> -  nm <Leader>d :call <SID>SetLT(2)<CR> -  exec "cabbr <"."buffer> perl perl ".s:scriptfile - -  let s:bdlt=1 -  nm <Leader>b x -  nun <Leader>b -endf - -fu! s:SetLT(thickness) -  let s:bdlt=a:thickness -endf - -" Deactivate mode. -" Unmap macros, restore &ve option -fu! <SID>E() -  if has("win32") -    " Under Windows Shift+Arrows works quite smooth, unlike most terminals -    nun <S-Up> -    nun <S-Down> -    nun <S-Left> -    nun <S-Right> -    nun g<Up> -    nun g<Right> -    nun g<Down> -    nun g<Left> -    vu <S-Up> -    vu <S-Down> -    vu <S-Left> -    vu <S-Right> -  else -    nun <Up> -    nun <Down> -    nun <Left> -    nun <Right> -    nun g<Up> -    nun g<Right> -    nun g<Down> -    nun g<Left> -    vu <Up> -    vu <Down> -    vu <Left> -    vu <Right> -  en -  nun <Leader>e -  nm <buffer> <Leader>b :call <SID>S()<CR> -  cuna <buffer> perl -  let &ve=s:ve -  unlet s:ve -  "echo "Finished Boxdrawing mode" -endf - -fu! s:GetBoxCode(char) -  " check if symbol from unicode boxdrawing range -  " E2=1110(0010) -  " 25=  10(0101)xx -  if 'utf-8'== &enc -    if(0xE2==char2nr(a:char[0])&&0x25==char2nr(a:char[1])/4) -      retu '0x'.strpart(s:i_utf8,2*(char2nr(a:char[1])%4*64+char2nr(a:char[2])%64),2) -    en -  else " Assume cp437 encoding -    retu '0x'.strpart(s:i_cp437,2*char2nr(a:char),2) -  en -  retu 0 -endf - -" Try neihgbour in direction 'd' if c is true. Mask m for the direction -" should also be supplied. -" Function returns neighboring bit -" Unicode entries are encoded in utf8 as -"   7 bit : 0vvvvvvv -"  11 bit : 110vvvvv 10vvvvvv -"  16 bit : 1110vvvv 10vvvvvv 10vvvvvv -fu! s:T(c,d,m) -  if(a:c) -    exe 'norm mt'.a:d.'"tyl`t' -    let c=s:GetBoxCode(@t) -    retu c%a:m*4/a:m  -  en -  retu 0 -endf - -" 3*4^x, where x=0,1,2,3 -" fu! s:Mask(x) -"   retu ((6+a:x*(45+a:x*(-54+a:x*27)))/2) -" endf - -" Move cursor (follow) in specified direction -" Return new direction if new position is valid, -1 otherwise -" dir: 'kljh' -"       ^>V< -"       0123 -" mask: 3 12 48 192       -" let @x=3|echo (6+@x*(45+@x*(-54+@x*27)))/2 -" -fu! <SID>F(d) -  exe 'norm '.('kljh'[a:d]).'"tyl' -  let c=s:GetBoxCode(@t) -  let i=0 -  let r=-1 -  while i<4 -    if 0!=c%4 && a:d!=(i+2)%4 -      if r<0 -        let r=i -      else -        retu -1 -      endif -    endif -    let c=c/4 -    let i=i+1 -  endw -  retu r -endf - -fu! <SID>G(d) -  let y=line(".") -  let x=virtcol(".") -  let n=a:d -  while n>=0 -    let n=s:F(n)  -    if y==line(".") && x==virtcol(".")  -      echo "Returned to same spot" -      break -    endif -  endw -endf - -" Move cursor in specified direction (d= h,j,k or l). Mask s for -" the direction should also be supplied -" -fu! <SID>M(s,d) -  let t=@t -  let x=s:T(1<col("."),'h',16)*64+s:T(line(".")<line("$"),'j',4)*16+s:T(1,'l',256)*4+s:T(1<line("."),'k',64) -  let @t=t -  let c=a:s*s:bdlt+x-x%(a:s*4)/a:s*a:s -  "echo 'need c='.c.' x='.x -  if 'utf-8'==&enc -    let o=strpart(s:o_utf8,2*c,2) -    if o!='--' && o!=''  -      exe "norm r\<C-V>u25".o.a:d -    en -  else -    let o=strpart(s:o_cp437,2*c,2) -    if o!='--' && o!=''  -      exe "norm r\<C-V>x".o.a:d -    en -  en -"  "echo "Boxdrawing mode"  -endf - -scriptencoding utf8 -command! -range ToAscii :silent <line1>,<line2>s/┌\|┬\|┐\|╓\|╥\|╖\|╒\|╤\|╕\|╔\|╦\|╗\|├\|┼\|┤\|╟\|╫\|╢\|╞\|╪\|╡\|╠\|╬\|╣\|└\|┴\|┘\|╙\|╨\|╜\|╘\|╧\|╛\|╚\|╩\|╝/+/ge|:silent <line1>,<line2>s/[│║]/\|/ge|:silent <line1>,<line2>s/[═─]/-/ge - -command! -range ToHorz :<line1>,<line2>s/─\|═/-/g -command! -range ToHorz2 :<line1>,<line2>s/─/-/g -" 0000000: 636f 6d6d 616e 6421 202d 7261 6e67 6520  command! -range  -" 0000010: 546f 486f 727a 203a 3c6c 696e 6531 3e2c  ToHorz :<line1>, -" 0000020: 3c6c 696e 6532 3e73 2fe2 9480 5c7c e295  <line2>s/...\|.. -" 0000030: 9029 2f6f 2f67 0d0a                      .)/o/g.. -command! -range ToVert :<line1>,<line2>s/│\|║/\|/g - -" Move block dispatch -fu! s:MB(d) -  if visualmode()=='' || visualmode()=='v' -    call s:MRB(a:d) -  elseif visualmode()=='V' -    call s:MLB(a:d) -  en -endf - -" Move line block -fu! s:MLB(d) -  if a:d=='j' || a:d=='k' -    let l:cmd= "norm gv\"yd".a:d."\"yP1V" -    exe l:cmd -  elseif a:d=='h' -    normal gv -    :'<,'>s/^.// -    normal gv -  elseif a:d=='l' -    normal gv -    :'<,'>s/^/ / -    normal gv -  en -endf - -" Move Rectangular block -" sideeffect: stores contents of a block in "y  -" 1<C-V> does not work good in 6.0 when multibyte characters are involved -" gvp does not work good ... -" gv also has some problems -" See http://vim.sourceforge.net/tips/tip.php?tip_id=808 for different way to -" paste -fu! s:MRB(d) -  " It seems that rectangular boxes and multibyte do not live together too -  " good asof version 6.3 -  " Normally something like -  " exe 'norm gv"yygvr '.a:d.'1<C-V>"ypgv' -  " should have worked -  let l:y1=line(".") -  let l:x1=virtcol(".") -  "echo l:x1."-".l:y1 -  normal gv"yygvo -  let l:y2=line(".") -  let l:x2=virtcol(".") -  if l:x1>l:x2 | let l:t=l:x1 | let l:x1=l:x2 | let l:x2=l:t | endif -  if l:y1>l:y2 | let l:t=l:y1 | let l:y1=l:y2 | let l:y2=l:t | endif -  let l:pos=l:y1."G0" -  if 1<l:x1 | let l:pos=l:pos.(l:x1-1)."l" | endif -  let l:size="" -  if 0<l:y2-l:y1 | let l:size=l:size.(l:y2-l:y1)."j" | endif -  if 0<l:x2-l:x1 | let l:size=l:size.(l:x2-l:x1)."l" | endif -  exe "normal gvr ".l:pos.a:d."".l:size."d\"yPgvjk" -endf - - -:nmap <buffer> ,b :call <SID>S()<CR> -if has("win32") -  " Under win32 activate boxdrwaing mode upon start. -  " If undesirable, prepend with :nmap ,b -  " -  :normal ,b -else -en diff --git a/Editor/vim/boxdraw/outline.pl b/Editor/vim/boxdraw/outline.pl deleted file mode 100644 index f095e7f..0000000 --- a/Editor/vim/boxdraw/outline.pl +++ /dev/null @@ -1,74 +0,0 @@ -# outlines groups of similar characters
 -# 2003-11-24 15:07:28 Created by nsg
 -# 2004-06-18 14:29:45 changed hex boxset to x; added double, horz, vert boxsets
 -use strict;
 -use utf8;
 -use Getopt::Std;
 -
 -our (
 -  $opt_s, # boxset (x=hex)
 -  $opt_d, # double each input character
 -  $opt_e, # output encoding
 -);
 -getopts("s:de:");
 -$opt_s='s' if '' eq $opt_s;
 -$opt_e='utf8' if '' eq $opt_e;
 -
 -binmode (STDIN, ":encoding($opt_e)");
 -binmode (STDOUT, ":encoding($opt_e)");
 -#binmode (STDOUT, ":encoding(utf8)");
 -my $p='';
 -
 -my %boxset=(
 -# 1|.,'}\u{25',"1 (_2 ]\ o_utf8) {~ 4#.2*#:i.16
 - 's'=>" \x{2502}\x{2500}\x{2514}\x{2502}\x{2502}\x{250c}\x{251c}\x{2500}\x{2518}\x{2500}\x{2534}\x{2510}\x{2524}\x{252c}\x{253c}\n",
 - 'd'=>" \x{2551}\x{2550}\x{255a}\x{2551}\x{2551}\x{2554}\x{2560}\x{2550}\x{255d}\x{2550}\x{2569}\x{2557}\x{2563}\x{2566}\x{256c}\n",
 - 'h'=>" \x{2502}\x{2550}\x{2558}\x{2502}\x{2502}\x{2552}\x{255e}\x{2550}\x{255b}\x{2550}\x{2567}\x{2555}\x{2561}\x{2564}\x{256a}\n",
 - 'v'=>" \x{2551}\x{2500}\x{2559}\x{2551}\x{2551}\x{2553}\x{255f}\x{2500}\x{255c}\x{2500}\x{2568}\x{2556}\x{2562}\x{2565}\x{256b}\n",
 -);
 -
 -my $BOX=$boxset{$opt_s} || $boxset{'s'};
 -
 -# corners/splits:
 -#  ┌┬┐╓╥╖╒╤╕╔╦╗ 6ec
 -#  ├┼┤╟╫╢╞╪╡╠╬╣ 7fd
 -#  └┴┘╙╨╜╘╧╛╚╩╝ 3b9
 -# round corners:
 -# 256d  256e
 -# 2570  256f
 -# horizontal
 -#  ═ ─
 -# vertical
 -#  │ ║
 -
 -while(<STDIN>){
 -  chomp;
 -  s/./$&$&/g if $opt_d;
 -  process_line();
 -  $p=$_;
 -}
 -$_='';
 -process_line();
 -
 -sub process_line
 -{
 -  my $out;
 -  my $l=length;
 -  $l=length($p) if length($p)>$l;
 -  for my$i(0..$l) {
 -    my $c=0;
 -    $c|=1 if sc($p,$i-1) ne sc($p,$i);
 -    $c|=2 if sc($p,$i) ne sc($_,$i);
 -    $c|=4 if sc($_,$i) ne sc($_,$i-1);
 -    $c|=8 if sc($_,$i-1) ne sc($p,$i-1);
 -    $out.=substr($BOX,$c,1) if 'x' ne $opt_s;
 -    $out.=sprintf"%1x",$c if 'x' eq $opt_s;
 -  }
 -  print "$out\n";
 -}
 -
 -sub sc # (str, index)
 -{
 -  return ' ' if 0>$_[1] || $_[1]>=length($_[0]);
 -  return substr($_[0],$_[1],1);
 -}
 diff --git a/Editor/vim/boxdraw/sampler.txt b/Editor/vim/boxdraw/sampler.txt deleted file mode 100644 index 1f6aad8..0000000 --- a/Editor/vim/boxdraw/sampler.txt +++ /dev/null @@ -1,13 +0,0 @@ -Box drawing characters sampler. (C) nsg, 2004
 -╒╕╔╗╓╖┌╥─┐
 -├┼╢║╟╜└╫┬┤ utf-8
 -╞╪╣╠╩╤╦╬╡│
 -╘╧╝╚═╛╙╨┴┘
 -
 - koi8-r, koi8-u*
 -
 -
 -ոɻֿ·
 -öŴٺ cp437 (A.K.A dos), cp737, cp86x, cp85x*, cp895, etc.
 -ƾص˹
 -ϼн
  | 
