From e26958b154d0457c1019bc48a5ff0ed637cf3eac Mon Sep 17 00:00:00 2001 From: Vasil Zlatanov Date: Tue, 18 Aug 2015 01:54:42 +0200 Subject: update vim --- vim/boxdraw/boxdraw.txt | 164 ------------------------------------------------ 1 file changed, 164 deletions(-) delete mode 100644 vim/boxdraw/boxdraw.txt (limited to 'vim/boxdraw/boxdraw.txt') diff --git a/vim/boxdraw/boxdraw.txt b/vim/boxdraw/boxdraw.txt deleted file mode 100644 index b821a43..0000000 --- a/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: - - -- moves cursor in specified direction leaving trail of -box drawing characters, making all joins and crossings. -g+ -- follow line of boxdrawing characters until it reaches -intersection or ends. - 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 - 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, and moves it up or down -nondestructively, decreases indent and 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 instead -of + 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 - -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 - -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 -- cgit v1.2.3-54-g00ecf