vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit c9100a985413f21a67b63b8d01d944813b566e6a parent aeb8404a51a934c22e36a4afc7459bbe0588cc38 Author: Marc André Tanner <mat@brain-dump.org> Date: Sat, 8 Jul 2017 12:26:14 +0200 test/vis: add tests for set operations on selections Also rename some files and adjust to new mark key bindings. Diffstat:
73 files changed, 295 insertions(+), 2 deletions(-)
diff --git a/vis/multiple-cursors/align-indent-columns.in b/vis/selections/align-indent-columns.in diff --git a/vis/multiple-cursors/align-indent-columns.keys b/vis/selections/align-indent-columns.keys diff --git a/vis/multiple-cursors/align-indent-columns.ref b/vis/selections/align-indent-columns.ref diff --git a/vis/multiple-cursors/align-indent.in b/vis/selections/align-indent.in diff --git a/vis/multiple-cursors/align-indent.keys b/vis/selections/align-indent.keys diff --git a/vis/multiple-cursors/align-indent.ref b/vis/selections/align-indent.ref diff --git a/vis/multiple-cursors/align.in b/vis/selections/align.in diff --git a/vis/multiple-cursors/align.keys b/vis/selections/align.keys diff --git a/vis/multiple-cursors/align.ref b/vis/selections/align.ref diff --git a/vis/selections/complement-whole.in b/vis/selections/complement-whole.in @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/complement-whole.keys b/vis/selections/complement-whole.keys @@ -0,0 +1,3 @@ +:x <Enter> +! +:i/|/ <Enter> diff --git a/vis/selections/complement-whole.ref b/vis/selections/complement-whole.ref @@ -0,0 +1,10 @@ +1| +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/complement.in b/vis/selections/complement.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/complement.keys b/vis/selections/complement.keys @@ -0,0 +1,4 @@ +:x/.*/ x/./ g2 <Enter> +! +:y/\n/ <Enter> +:v-1 { i/[/ a/]/ } <Enter> diff --git a/vis/selections/complement.ref b/vis/selections/complement.ref @@ -0,0 +1,10 @@ +[1]0[0] +[1]0[1] +[1]0[2] +[1]0[3] +[1]0[4] +[1]0[5] +[1]0[6] +[1]0[7] +[1]0[8] +[1]0[9] diff --git a/vis/selections/intersect-adjacent.in b/vis/selections/intersect-adjacent.in @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/intersect-adjacent.keys b/vis/selections/intersect-adjacent.keys @@ -0,0 +1,5 @@ +:x g%2 <Enter> +m <Escape><Escape> +:x v%2 <Enter> +& +:i/|/ <Enter> diff --git a/vis/selections/intersect-adjacent.ref b/vis/selections/intersect-adjacent.ref @@ -0,0 +1,10 @@ +1| +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/intersect-contained.in b/vis/selections/intersect-contained.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/intersect-contained.keys b/vis/selections/intersect-contained.keys @@ -0,0 +1,5 @@ +:x/.*/ x/./ g2 <Enter> +m <Escape><Escape> +:x/.*/ g%2 <Enter> +& +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/intersect-contained.ref b/vis/selections/intersect-contained.ref @@ -0,0 +1,10 @@ +100 +1[0]1 +102 +1[0]3 +104 +1[0]5 +106 +1[0]7 +108 +1[0]9 diff --git a/vis/selections/intersect-overlapping.in b/vis/selections/intersect-overlapping.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/intersect-overlapping.keys b/vis/selections/intersect-overlapping.keys @@ -0,0 +1,5 @@ +:x/.*/ x/^../ <Enter> +m <Escape><Escape> +:x/.*/ x/..$/ <Enter> +& +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/intersect-overlapping.ref b/vis/selections/intersect-overlapping.ref @@ -0,0 +1,10 @@ +1[0]0 +1[0]1 +1[0]2 +1[0]3 +1[0]4 +1[0]5 +1[0]6 +1[0]7 +1[0]8 +1[0]9 diff --git a/vis/selections/minus-adjacent.in b/vis/selections/minus-adjacent.in @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/minus-adjacent.keys b/vis/selections/minus-adjacent.keys @@ -0,0 +1,5 @@ +:x g%2 <Enter> +m <Escape><Escape> +:x v%2 <Enter> +\ +:i/* / <Enter> diff --git a/vis/selections/minus-adjacent.ref b/vis/selections/minus-adjacent.ref @@ -0,0 +1,10 @@ +* 1 +2 +* 3 +4 +* 5 +6 +* 7 +8 +* 9 +10 diff --git a/vis/selections/minus-contained.in b/vis/selections/minus-contained.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/minus-contained.keys b/vis/selections/minus-contained.keys @@ -0,0 +1,5 @@ +:x/.*/ x/./ g2 <Enter> +m <Escape><Escape> +:x/.*/ g%2 <Enter> +\ +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/minus-contained.ref b/vis/selections/minus-contained.ref @@ -0,0 +1,10 @@ +100 +[1]0[1] +102 +[1]0[3] +104 +[1]0[5] +106 +[1]0[7] +108 +[1]0[9] diff --git a/vis/selections/minus-overlapping.in b/vis/selections/minus-overlapping.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/minus-overlapping.keys b/vis/selections/minus-overlapping.keys @@ -0,0 +1,5 @@ +:x/.*/ x/^../ <Enter> +m <Escape><Escape> +:x/.*/ x/..$/ <Enter> +\ +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/minus-overlapping.ref b/vis/selections/minus-overlapping.ref @@ -0,0 +1,10 @@ +10[0] +10[1] +10[2] +10[3] +10[4] +10[5] +10[6] +10[7] +10[8] +10[9] diff --git a/vis/multiple-cursors/new-above-first-below-last.in b/vis/selections/new-above-first-below-last.in diff --git a/vis/multiple-cursors/new-above-first-below-last.keys b/vis/selections/new-above-first-below-last.keys diff --git a/vis/multiple-cursors/new-above-first-below-last.ref b/vis/selections/new-above-first-below-last.ref diff --git a/vis/multiple-cursors/new-below-above.in b/vis/selections/new-below-above.in diff --git a/vis/multiple-cursors/new-below-above.keys b/vis/selections/new-below-above.keys diff --git a/vis/multiple-cursors/new-below-above.ref b/vis/selections/new-below-above.ref diff --git a/vis/multiple-cursors/new-end-of-line.in b/vis/selections/new-end-of-line.in diff --git a/vis/multiple-cursors/new-end-of-line.keys b/vis/selections/new-end-of-line.keys diff --git a/vis/multiple-cursors/new-end-of-line.ref b/vis/selections/new-end-of-line.ref diff --git a/vis/multiple-cursors/new-start-of-line.in b/vis/selections/new-start-of-line.in diff --git a/vis/multiple-cursors/new-start-of-line.keys b/vis/selections/new-start-of-line.keys diff --git a/vis/multiple-cursors/new-start-of-line.ref b/vis/selections/new-start-of-line.ref diff --git a/vis/multiple-cursors/normal-mode-wq.in b/vis/selections/normal-mode-wq.in diff --git a/vis/multiple-cursors/normal-mode-wq.keys b/vis/selections/normal-mode-wq.keys diff --git a/vis/multiple-cursors/normal-mode-wq.ref b/vis/selections/normal-mode-wq.ref diff --git a/vis/selections/odd-even.in b/vis/selections/odd-even.in @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/odd-even.keys b/vis/selections/odd-even.keys @@ -0,0 +1 @@ +:x { g%2 i/+/ v%2 i/-/ } <Enter> diff --git a/vis/selections/odd-even.ref b/vis/selections/odd-even.ref @@ -0,0 +1,10 @@ +-1 ++2 +-3 ++4 +-5 ++6 +-7 ++8 +-9 ++10 diff --git a/vis/multiple-cursors/remove-column.in b/vis/selections/remove-column.in diff --git a/vis/multiple-cursors/remove-column.keys b/vis/selections/remove-column.keys diff --git a/vis/multiple-cursors/remove-column.ref b/vis/selections/remove-column.ref diff --git a/vis/multiple-cursors/select-match.in b/vis/selections/select-match.in diff --git a/vis/multiple-cursors/select-match.keys b/vis/selections/select-match.keys diff --git a/vis/multiple-cursors/select-match.ref b/vis/selections/select-match.ref diff --git a/vis/multiple-cursors/selections-rotate.in b/vis/selections/selections-rotate.in diff --git a/vis/multiple-cursors/selections-rotate.keys b/vis/selections/selections-rotate.keys diff --git a/vis/multiple-cursors/selections-rotate.ref b/vis/selections/selections-rotate.ref diff --git a/vis/multiple-cursors/selections-trim.in b/vis/selections/selections-trim.in diff --git a/vis/multiple-cursors/selections-trim.keys b/vis/selections/selections-trim.keys diff --git a/vis/multiple-cursors/selections-trim.ref b/vis/selections/selections-trim.ref diff --git a/vis/selections/union-adjacent.in b/vis/selections/union-adjacent.in @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/vis/selections/union-adjacent.keys b/vis/selections/union-adjacent.keys @@ -0,0 +1,5 @@ +:x g%2 <Enter> +m <Escape><Escape> +:x v%2 <Enter> +| +:i/* / <Enter> diff --git a/vis/selections/union-adjacent.ref b/vis/selections/union-adjacent.ref @@ -0,0 +1,10 @@ +* 1 +* 2 +* 3 +* 4 +* 5 +* 6 +* 7 +* 8 +* 9 +* 10 diff --git a/vis/selections/union-contained.in b/vis/selections/union-contained.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/union-contained.keys b/vis/selections/union-contained.keys @@ -0,0 +1,5 @@ +:x/.*/ x/./ g2 <Enter> +m <Escape><Escape> +:x/.*/ g%2 <Enter> +| +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/union-contained.ref b/vis/selections/union-contained.ref @@ -0,0 +1,10 @@ +1[0]0 +[101] +1[0]2 +[103] +1[0]4 +[105] +1[0]6 +[107] +1[0]8 +[109] diff --git a/vis/selections/union-overlapping.in b/vis/selections/union-overlapping.in @@ -0,0 +1,10 @@ +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 diff --git a/vis/selections/union-overlapping.keys b/vis/selections/union-overlapping.keys @@ -0,0 +1,5 @@ +:x/.*/ x/^../ <Enter> +m <Escape><Escape> +:x/.*/ x/..$/ <Enter> +| +:{ i/[/ a/]/ } <Enter> diff --git a/vis/selections/union-overlapping.ref b/vis/selections/union-overlapping.ref @@ -0,0 +1,10 @@ +[100] +[101] +[102] +[103] +[104] +[105] +[106] +[107] +[108] +[109] diff --git a/vis/structural-regex/addresses/marks.keys b/vis/structural-regex/addresses/marks.keys @@ -1,6 +1,6 @@ :'a,'b { i/>/ a/</ }<Enter> fq -ma +'am el -mb +'bm :<Up><Enter>