-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathboxdraw.txt
150 lines (100 loc) · 6.59 KB
/
boxdraw.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
*boxdraw.txt* A Vim plugin for drawing ASCII diagrams
INTRODUCTION *boxdraw*
The vim-boxdraw plugin makes it easy to draw simple ASCII diagrams in
|blockwise-visual| mode. The basic idea is simple:
- Select a rectangle on the screen
- Invoke a draw command.
All commands are mapped to the `+` prefix. See |boxdraw-mappings| for details.
DRAWING RECTANGLES *boxdraw-rectangles*
*boxdraw-+o*
+o Draw a rectangle, clear its contents with whitespace.
*boxdraw-+O*
+O Draw a rectangle, fill it with a label.
*boxdraw-+c*
+c Fill the rectangle with a label.
DRAWING LINES *boxdraw-lines*
The following commands draw a one-segment or two-segment line. A simple way
to memorize the mappings:
- Select a rectangle in |blockwise-visual| mode. The line will always go from
the start corner to the end corner.
- Press `+` and the character that you want to end the line with. vim-boxdraw
will figure out whether the line should be vertical-horizontal or
horizontal-vertical, and which direction the arrow should go.
- Press `+` twice if you want to make an arrow on both sides of the line.
See the examples below for full reference. 1 and 2 indicates the start/end
position of the selection.
*boxdraw-+-* *boxdraw-+_*
+- or +_ Draw a line that ends with a horizontal line:
1....... |....... 2....... -------+
........ => |....... ........ => .......|
.......2 +------- .......1 .......|
.......2 +------- .......1 .......|
........ => |....... ........ => .......|
1....... |....... 2....... -------+
........ ........ ........ ........
1......2 => -------- 2......1 => --------
........ ........ ........ ........
*boxdraw-+>* *boxdraw-+<*
+> or +< Draw a line that ends with a horizontal arrow:
1....... |....... 2....... <------+
........ => |....... ........ => .......|
.......2 +------> .......1 .......|
.......2 +------> .......1 .......|
........ => |....... ........ => .......|
1....... |....... 2....... <------+
........ ........ ........ ........
1......2 => -------> 2......1 => <-------
........ ........ ........ ........
*boxdraw-++>* *boxdraw-++<*
++> or ++< Draw a line that ends with a horizontal arrow,
and has an arrow on both sides of the line:
1....... ^....... 2....... <------+
........ => |....... ........ => .......|
.......2 +------> .......1 .......v
.......2 +------> .......1 .......^
........ => |....... ........ => .......|
1....... v....... 2....... <------+
........ ........ ........ ........
1......2 => <------> 2......1 => <------>
........ ........ ........ ........
*boxdraw-+|*
+| Draw a line that ends with a vertical line:
1....... -------+ 2....... |.......
........ => .......| ........ => |.......
.......2 .......| .......1 +-------
.......2 .......| .......1 +-------
........ => .......| ........ => |.......
1....... -------+ 2....... |.......
1....... |....... 2....... |.......
........ => |....... ........ => |.......
2....... |....... 1....... |.......
*boxdraw-+^* *boxdraw-+v* *boxdraw-+V*
+^, +v or +V Draw a line that ends with a vertical arrow.
1....... -------+ 2....... ^.......
........ => .......| ........ => |.......
.......2 .......v .......1 +-------
.......2 .......^ .......1 +-------
........ => .......| ........ => |.......
1....... -------+ 2....... v.......
1....... |....... 2....... ^.......
........ => |....... ........ => |.......
2....... v....... 1....... |.......
*boxdraw-++^* *boxdraw-++v* *boxdraw-++V*
++^, ++v or ++V Draw a line that ends with a vertical arrow,
and has an arrow on both sides of the line:
1....... <------+ 2....... ^.......
........ => .......| ........ => |.......
.......2 .......v .......1 +------>
.......2 .......^ .......1 +------>
........ => .......| ........ => |.......
1....... <------+ 2....... v.......
1....... ^....... 2....... ^.......
........ => |....... ........ => |.......
2....... v....... 1....... v.......
SELECTING OBJECTS *boxdraw-select*
Select commands also work in |blockwise-visual| mode: start a selection,
then press one of the following mappings to select an object:
*boxdraw-+io*
+io Select current rectangle, without borders.
*boxdraw-+ao*
+ao Select current rectangle, with borders.