Desenvolver e Download de Software Open Source

Browse Subversion Repository

Contents of /trunk/arc/test-1.tst

Parent Directory Parent Directory | Revision Log Revision Log


Revision 292 - (show annotations) (download)
Fri May 13 01:21:41 2011 UTC (13 years ago) by vivisuke
File size: 16445 byte(s)
問題対処: r文字後の .(repeat a command) が動作不良
1 #----------------------------------------------------------------------
2 #
3 # qvi 自動テストスクリプト
4 #
5 # テストスクリプト仕様:
6 # http://vivi.dyndns.org/vivi/docs/qvi/qvi-029.html
7 #
8 #----------------------------------------------------------------------
9
10 # テストスクリプト要件:
11 # [1] 全てのコマンドを網羅しているか?
12 # [2] {c|d|y}<move> の全てのコマンドを網羅しているか?
13 # [3] 繰り返し回数を前置した場合もチェック
14 # [4] 編集コマンド実行後のカーソル位置は正しいか?
15 # [5] 編集コマンド実行後の .(repeat the command) は正しく動作するか?
16 # [6] .(repeat the command) に繰り返し回数を前置した場合も大丈夫か?
17 # [7] 編集コマンド実行後の u(undo)/U(redo) は正しく動作するか?
18 # [8] u(undo)/U(redo) 実行後の カーソル位置は正しいか?
19
20
21 :set fontName=Courier New
22 :set fontSize=14
23 ##----------------------------------------------------------------------
24 ## h j k l による単純なカーソル移動
25 ##---------------------------------------------------------------------
26 <main()
27 <{
28 < printf("hello, world.\n");
29 <}
30 =1 0
31 >main()
32 >{
33 > printf("hello, world.\n");
34 >}
35 >
36 "j" =2 0
37 "j" =3 0
38 "j" =4 0
39 "j" =5 0 # EOF
40 "j" =5 0 # EOF
41 "k" =4 0
42 "k" =3 0
43 "k" =2 0
44 "k" =1 0
45 "k" =1 0
46 "l" =1 1 # a
47 "l" =1 2 # i
48 "l" =1 3 # n
49 "l" =1 4 # (
50 "l" =1 5 # )
51 "l" =1 5
52 "h" =1 4
53 "h" =1 3
54 "h" =1 2
55 "h" =1 1
56 "h" =1 0
57 "h" =1 0
58
59 <{
60 < hoge;
61 <}
62 "$j" =2 5
63 "j" =3 0
64 "k" =2 5
65
66 ##---------------------------------------------------------------------
67 ## h j k l 繰り返し回数前置
68 ##---------------------------------------------------------------------
69 <main()
70 <{
71 < printf("hello, world.\n");
72 <}
73 "2j" =3 0
74 "3j" =5 0
75 "3k" =2 0
76 "3k" =1 0
77 "3l" =1 3
78 "3l" =1 5
79 "3h" =1 2
80 "3h" =1 0
81
82 ##---------------------------------------------------------------------
83 ## j k でカラム位置が保存されるかどうか
84 ##---------------------------------------------------------------------
85 <012345
86 <012
87 <0123456789
88 "5l" =1 5
89 "j" =2 2
90 "j" =3 5
91
92 .end
93
94 ##---------------------------------------------------------------------
95 ## w b e
96 ##---------------------------------------------------------------------
97 <main()
98 <{
99 < printf("hello, world.\n");
100 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
101 <}
102 =1 0
103 "w" =1 4 # (
104 "w" =2 0 # {
105 "w" =3 1 # print
106 "w" =3 7 # ("
107 "w" =3 9 # hello
108 "w" =3 14 # ,
109 "w" =3 16 # world
110 "w" =3 21 # .\
111 "w" =3 23 # n
112 "w" =3 24 # ");
113 "w" =4 1 # 123xy
114 "w" =4 7 # xyz
115 "w" =4 10 # あい
116 "w" =4 12 # 漢字
117 "w" =4 14 # あい
118 "w" =4 16 # カナ
119 "w" =4 18 # 漢字
120 "w" =4 20 # あい
121 "w" =4 22 # 。
122 "w" =4 23 # 漢字
123 "w" =4 25 # 。
124 "w" =5 0 # }
125 "w" =6 0 # EOF
126 "w" =6 0 # EOF
127 "b" =5 0 # }
128 "b" =4 25 # 。
129 "b" =4 23 # 漢字
130 "b" =4 22 # 。
131 "b" =4 20 # あい
132 "b" =4 18 # 漢字
133 "b" =4 16 # カナ
134 "b" =4 14 # あい
135 "b" =4 12 # 漢字
136 "b" =4 10 # あい
137 "b" =4 7 # xyz
138 "b" =4 1 # 123xy
139 "b" =3 24 # ");
140 "b" =3 23 # n
141 "b" =3 21 # .\
142 "b" =3 16 # world
143 "b" =3 14 # ,
144 "b" =3 9 # hello
145 "b" =3 7 # ("
146 "b" =3 1 # print
147 "b" =2 0 # {
148 "b" =1 4 # (
149 "b" =1 0 # main
150 "b" =1 0 # main
151 # main()
152 # {
153 # printf("hello, world.\n");
154 # 123xy xyzあい漢字あいカナ漢字あい。漢字。
155 # }
156 "e" =1 3 # main
157 "e" =1 5 # )
158 "e" =2 0 # {
159 "e" =3 6 # printf
160 "e" =3 8 # ("
161 "e" =3 13 # hello
162 "e" =3 14 # ,
163 "e" =3 20 # world
164 "e" =3 22 # .\
165 "e" =3 23 # n
166 "e" =3 26 # ");
167 "e" =4 5 # 123xy
168 "e" =4 9 # xyz
169 "e" =4 11 # あい
170 "e" =4 13 # 漢字
171 "e" =4 15 # あい
172 "e" =4 17 # カナ
173 "e" =4 19 # 漢字
174 "e" =4 21 # あい
175 "e" =4 22 # 。
176 "e" =4 24 # 漢字
177 "e" =4 25 # 。
178 "e" =5 0 # }
179 "e" =6 0 # EOF
180 "e" =6 0 # EOF
181
182 <main()
183 <{
184 < printf("hello, world.\n");
185 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
186 <}
187 =1 0
188 "2w" =2 0 # {
189 "99w" =6 0
190 "2b" =4 25 # 。
191 "99b" =1 0
192 "3e" =2 0 # {
193 "99e" =6 0 # EOF
194 ##---------------------------------------------------------------------
195 ## W B E
196 ##---------------------------------------------------------------------
197 <main()
198 <{
199 < printf("hello, world.\n");
200 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
201 <
202 <}
203 =1 0
204 "W" =2 0 # {
205 "W" =3 1 # print
206 "W" =3 16 # world
207 "W" =4 1 # 123
208 "W" =4 7 # xyz
209 "W" =6 0 # }
210 "W" =7 0 # EOF
211 "B" =6 0 # }
212 "B" =4 7 # xyz
213 "B" =4 1 # 123
214 "B" =3 16 # world
215 "B" =3 1 # print
216 "B" =2 0 # {
217 "B" =1 0 # main
218 "E" =1 5 # )
219 "E" =2 0 # {
220 "E" =3 14 # ,
221 "E" =3 26 # ;
222 "E" =4 5 # y
223 "E" =4 25 # 。
224 "E" =6 0 # }
225 "E" =7 0 # EOF
226
227 <main()
228 <{
229 < printf("hello, world.\n");
230 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
231 <}
232 =1 0
233 "2W" =3 1 # {
234 "99W" =6 0
235 "2B" =4 7 # xyz
236 "99B" =1 0
237 "3E" =3 14 # ,
238 "99E" =6 0 # EOF
239 ##---------------------------------------------------------------------
240 ## 0 ^ $ 行内移動コマンド
241 ##---------------------------------------------------------------------
242 < abc
243 =1 0
244 "$" =1 3
245 "^" =1 1
246 "0" =1 0
247 <あいう
248 "$" =1 2
249 "^" =1 0
250 "0" =1 0
251
252 ##---------------------------------------------------------------------
253 ## % コマンド
254 ##---------------------------------------------------------------------
255 <main()
256 <{
257 < for(;;) {
258 < }
259 <}
260 "%" =1 5
261 "%" =1 4
262 "%" =1 5
263 "2G%" =5 0
264 "%" =2 0
265 "3G%" =3 7
266 "%" =3 4
267 "%" =3 7
268 "0f;%" =3 4
269 "gg2%" =1 5 # 繰り返し回数は無視
270
271 ##---------------------------------------------------------------------
272 ## } { コマンド
273 ##---------------------------------------------------------------------
274 <main()
275 <
276 <hoge
277 <fuga
278 <
279 <foo
280 "}" =2 0
281 "}" =5 0
282 "}" =7 0
283 "{" =5 0
284 "{" =2 0
285 "{" =1 0
286 "2}" =5 0
287 "2}" =7 0
288 "2{" =2 0
289 "2{" =1 0
290
291 ##---------------------------------------------------------------------
292 ## ]] [[ コマンド
293 ##---------------------------------------------------------------------
294 <main()
295 <{
296 <}
297 <foo()
298 <{
299 <}
300 <bar()
301 <{
302 <}
303 "]]" =2 0
304 "]]" =5 0
305 "]]" =8 0
306 "]]" =10 0
307 "[[" =8 0
308 "[[" =5 0
309 "[[" =2 0
310 "[[" =1 0
311 "3]]" =8 0
312 "3]]" =10 0
313 "2[[" =5 0
314 "3[[" =1 0
315
316 ##---------------------------------------------------------------------
317 ## G gg コマンド
318 ##---------------------------------------------------------------------
319 < main()
320 <{
321 < print;
322 <}
323 <foo()
324 <{
325 <}
326 <bar()
327 <{
328 < }
329 "G" =10 1
330 "gg" =1 1
331 "2G" =2 0
332 "3G" =3 1
333 <hoge
334 <fuga
335 "2GJ" // EOF行を空でないようにする
336 >hoge
337 >fuga
338 "ggG" =2 0
339
340 ##---------------------------------------------------------------------
341 ## - + Enter コマンド
342 ##---------------------------------------------------------------------
343 <main()
344 <{
345 < printf("hello, world.\n");
346 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
347 <}
348 "+" =2 0
349 "+" =3 1
350 "2+" =5 0
351 "2+" =6 0
352 "-" =5 0
353 "-" =4 1
354 "2-" =2 0
355 "3-" =1 0
356 0x0d =2 0
357 0x0d =3 1
358 "2" 0x0d =5 0
359 "2" 0x0d =6 0
360
361 ##---------------------------------------------------------------------
362 ## H M L コマンド
363 ##---------------------------------------------------------------------
364 < 1
365 <2
366 < 3
367 <4
368 < 5
369 "L" =5 1
370 "H" =1 1
371 "M" =3 1
372 "2H" =2 0
373 "3L" =3 1
374
375 ##---------------------------------------------------------------------
376 ## /? n N コマンド
377 ##---------------------------------------------------------------------
378 <main()
379 <{
380 < printf("hello, world.\n");
381 < 123xy xyzあい漢字あいカナ漢字あい。漢字。
382 <}
383 /i
384 =1 2
385 "n" =3 3
386 "n" =1 2
387 "1G2n" =3 3
388
389 ##---------------------------------------------------------------------
390 ## f F t T ; , コマンド
391 ##---------------------------------------------------------------------
392 <mainmain
393 "fi" =1 2
394 "fi" =1 6
395 "fi" =1 6
396 "," =1 2
397 "0;" =1 2
398 "02;" =1 6
399 "$2," =1 2
400 "0ti" =1 1
401 "ti" =1 1
402 "02ti" =1 5
403 "," =1 3
404 ";" =1 5
405 "2;" =1 5
406 "$Fi" =1 6
407 "Fi" =1 2
408 "Fi" =1 2
409 "$2;" =1 2
410 "$Ti" =1 7
411 "Ti" =1 7
412 "$2Ti" =1 3
413 "," =1 5
414 ";" =1 3
415 "2;" =1 3
416
417 .end
418
419 ##---------------------------------------------------------------------
420 ## i コマンド
421 ##---------------------------------------------------------------------
422 <hoge
423 "ifoo" 0x1b
424 >foohoge
425 >
426 =1 2 # Esc でカーソルは左にひとつ戻る
427 "." # repeat i command
428 >fofooohoge
429 >
430 "." # repeat i command
431 >fofofoooohoge
432 >
433 "3ix" 0x1b # 3回 x 挿入
434 >fofofoxxxooohoge
435 >
436 "0iX Y" 0x1b
437 >X Yfofofoxxxooohoge
438 >
439 "u0."
440 >X Yfofofoxxxooohoge
441 >
442
443 ##---------------------------------------------------------------------
444 ## I コマンド
445 ##---------------------------------------------------------------------
446 < hoge
447 =1 0
448 "Ixyz" 0x1b # hoge の直前に挿入
449 > xyzhoge
450 >
451 "$4I8" 0x1b # 84回挿入
452 > 8888xyzhoge
453 >
454 "u"
455 > xyzhoge
456 >
457 "." # repeat I command
458 > 8888xyzhoge
459 >
460 "u3." # 84回ではなく3回挿入
461 > 888xyzhoge
462 >
463 ##---------------------------------------------------------------------
464 ## a コマンド
465 ##---------------------------------------------------------------------
466 <hoge
467 "afoo" 0x1b
468 >hfoooge
469 >
470 =1 3 # Esc でカーソルは左にひとつ戻る
471 "." # repeat i command
472 >hfoofoooge
473 >
474 "." # repeat i command
475 >hfoofoofoooge
476 >
477 "3ax" 0x1b # 3回 x 挿入
478 >hfoofoofooxxxoge
479 >
480 ##---------------------------------------------------------------------
481 ## A コマンド
482 ##---------------------------------------------------------------------
483 < hoge
484 =1 0
485 "Axyz" 0x1b # hoge の直前に挿入
486 > hogexyz
487 >
488 "04A8" 0x1b # 84回挿入
489 > hogexyz8888
490 >
491 "u" # xyz8888 は一度に undo される
492 > hoge
493 >
494 "." # repeat A command
495 > hoge8888
496 >
497 "u3." # 84回ではなく3回挿入
498 > hoge888
499 >
500 ##---------------------------------------------------------------------
501 ## C コマンド
502 ##---------------------------------------------------------------------
503 <main()
504 "fiCXYZ" 0x1b
505 >maXYZ
506 >
507 =1 4
508
509 ##---------------------------------------------------------------------
510 ## cc コマンド
511 ##---------------------------------------------------------------------
512 <abc
513 <xyz
514 <123
515 "2Gcchogehoge" 0x1b
516 >abc
517 >hogehoge
518 >123
519 >
520 =2 7
521 "u1G2ccfoo" 0x1b # 1, 2 行を置換
522 >foo
523 >123
524 >
525
526 ##---------------------------------------------------------------------
527 ## S コマンド (オートインデント非サポート)
528 ##---------------------------------------------------------------------
529 <abc
530 <xyz
531 <123
532 "2GShogehoge" 0x1b
533 >abc
534 >hogehoge
535 >123
536 >
537 =2 7
538 "u1G2Sfoo" 0x1b # 1, 2 行を置換
539 >foo
540 >123
541 >
542 ##---------------------------------------------------------------------
543 ## s コマンド
544 ##---------------------------------------------------------------------
545 <main
546 "sXYZ" 0x1b
547 =1 2
548 >XYZain
549 >
550 "$." # n に移動して再置換
551 >XYZaiXYZ
552 >
553 "03s54321" 0x1b # 3文字→5文字置換
554 >54321aiXYZ
555 >
556 "fX2." # X に移動して 2文字→5文字置換
557 >54321ai54321Z
558 >
559 ##---------------------------------------------------------------------
560 ## o コマンド
561 ##---------------------------------------------------------------------
562 <hoge
563 "oabc" 0x1b
564 >hoge
565 >abc
566 >
567 =2 2
568 "."
569 >hoge
570 >abc
571 >abc
572 >
573 "1G3ox" 0x1b // x<改行> を3行挿入
574 >hoge
575 >x
576 >x
577 >x
578 >abc
579 >abc
580 >
581 ##---------------------------------------------------------------------
582 ## O コマンド
583 ##---------------------------------------------------------------------
584 <hoge
585 "Oabc" 0x1b
586 >abc
587 >hoge
588 >
589 =1 2
590 "3OZZZ" 0x1b
591 >ZZZ
592 >ZZZ
593 >ZZZ
594 >abc
595 >hoge
596 >
597 ##---------------------------------------------------------------------
598 ## x X コマンド
599 ##---------------------------------------------------------------------
600 <hogefuga
601 "x"
602 >ogefuga
603 >
604 "u"
605 =1 0 ### undo 後のカーソル位置は削除した文字の先頭 ※対処困難な場合はこのままとする
606 "03x"
607 >efuga
608 >
609 "u0."
610 >efuga
611 >
612 "u02."
613 >gefuga
614 >
615 "u0ff9x"
616 >hoge
617 >
618 "u0X"
619 >hogefuga
620 >
621 "ffX"
622 >hogfuga
623 >
624 "u0ff3X"
625 >hfuga
626 >
627 ##---------------------------------------------------------------------
628 ## D コマンド
629 ##---------------------------------------------------------------------
630 <main()
631 "fiD"
632 =1 1
633 >ma
634 >
635 "u0fi2D" # 繰り返し回数は無視される
636 =1 1
637 >ma
638 >
639 "u0fn."
640 >mai
641 >
642
643
644 ##---------------------------------------------------------------------
645 ## dd, d<move> コマンド
646 ##---------------------------------------------------------------------
647 <1
648 <2
649 <3
650 <4
651 <5
652 "2Gdd" # 2行目を削除
653 >1
654 >3
655 >4
656 >5
657 >
658 "u"
659 >1
660 >2
661 >3
662 >4
663 >5
664 >
665 =3 0 # カーソルは3行目に移動
666 "2." # 2行削除
667 >1
668 >2
669 >5
670 >
671 "u"
672 >1
673 >2
674 >3
675 >4
676 >5
677 >
678 =5 0 # カーソルは5行目に移動
679 <abc = 1;
680 "dw" # 次の単語先頭直前まで削除
681 >= 1;
682 >
683 "u0." # undo & 行頭移動 & repeat dw コマンド
684 >= 1;
685 >
686 "u02." # undo & 行頭移動 & repeat dw コマンド 2-times
687 >1;
688 >
689 "u0d2w" # undo & 行頭移動 & d2w
690 >1;
691 >
692 "u0." # undo & 行頭移動 & repeat d2w コマンド
693 >1;
694 >
695 <abc = 1;
696 <xyz = 123;
697 "f;dw" # 行末の単語(;)を削除
698 >abc = 1
699 >xyz = 123;
700 >
701 "u0f;d2w" # 行末から次の行の最初の単語を削除
702 >abc = 1= 123;
703 >
704
705 <abc = 1;
706 "de" # abc のみを削除
707 > = 1;
708 >
709
710 <main()
711 <
712 <hoge
713 "f(" =1 4
714 "d}" # 2行目までを行単位削除
715 >hoge
716 >
717
718 <main()
719 "cfn123" 0x1b
720 >123()
721 >
722 "u0l."
723 >m123()
724 >
725
726 <main()
727 "dfi" # i まで削除
728 >n()
729 >
730 "u0d;" # i まで削除
731 >n()
732 >
733 "u0dti" # i 直前まで削除
734 >in()
735 >
736
737 ##---------------------------------------------------------------------
738 ## r コマンド
739 ##---------------------------------------------------------------------
740 <main()
741 "r3"
742 >3ain()
743 >
744 "u03r0"
745 >000n()
746 >
747 <hoge
748 <fuga
749 "3r="
750 >===e
751 >fuga
752 >
753 "u0fg3r="
754 >ho===
755 >fuga
756 >
757
758 ##---------------------------------------------------------------------
759 ## R コマンド
760 ##---------------------------------------------------------------------
761
762 <main()
763 "RXY" 0x1b =1 1
764 >XYin()
765 >
766 "u03R=" 0x1b =1 2
767 >===ain()
768 >
769 <hoge
770 <fuga
771 "R=======" 0x1b # 改行は上書きされない
772 >=======
773 >fuga
774 >
775
776 ##---------------------------------------------------------------------
777 ## dd d<move> x X 後の p P
778 ##---------------------------------------------------------------------
779 <main()
780 "xp" # m, a を入れ替え
781 >amin()
782 >
783 "2p" # m を2回ペースト
784 >ammmin()
785 >
786 <main()
787 <hoge
788 "lddp" # 2文字目に移動して、1, 2 行目を入れ替え
789 >hoge
790 >main()
791 >
792 <11
793 <222
794 <3333
795 <44444
796 "jl2YP" # 2行目2文字目に移動してヤンク・ペースト
797 =2 0 # カーソルは2行目最初
798 >11
799 >222
800 >3333
801 >222
802 >3333
803 >44444
804 >
805 "ulp" # 元にもどして、2行目2文字目に移動してペースト
806 >11
807 >222
808 >222
809 >3333
810 >3333
811 >44444
812 >
813 =3 0
814 "2yyP"
815 >11
816 >222
817 >222
818 >3333
819 >222
820 >3333
821 >3333
822 >44444
823 >
824 # 空でないEOF行で行単位pした場合
825 <abc
826 <xyzzz
827 "3GiZZZ" 0x1b # 空でないEOF行作成
828 >abc
829 >xyzzz
830 >ZZZ
831 "kdd" # 2行目削除
832 >abc
833 >ZZZ
834 =2 0
835 "p" # 行単位ペースト
836 >abc
837 >ZZZ
838 >xyzzz
839 >
840 "2p" # 2行ペースト
841 >abc
842 >ZZZ
843 >xyzzz
844 >xyzzz
845 >xyzzz
846 >
847
848 ##---------------------------------------------------------------------
849 ## yy y<move> Y 後の p P
850 ##---------------------------------------------------------------------
851 <main()
852 "ywP"
853 =1 0
854 >mainmain()
855 >
856 "uywp"
857 >mmainain()
858 >
859 "ufiYp"
860 =2 0
861 >main()
862 >main()
863 >
864 <foo
865 <bar
866 <hoge
867 "yyGp"
868 >foo
869 >bar
870 >hoge
871 >foo
872 >
873 <main()
874 "yfiP"
875 >maimain()
876 >
877 "y;p"
878 >mmaiaimain()
879 >
880
881 ##---------------------------------------------------------------------
882 ## J コマンド
883 ##---------------------------------------------------------------------
884 <a
885 <x
886 "J" # join 時に空白が挿入される
887 >a x
888 >
889 <a
890 <x
891 "J" # join 時、行末に空白類がある場合は空白は挿入されない
892 >a x
893 >
894 <a
895 < x
896 "J" # join 時、次行先頭空白類列は空白ひとつに置換される
897 >a x
898 >
899 <a
900 <b
901 <c
902 <d
903 "3J" # 3join ではなく、3join
904 >a b c
905 >d
906 >
907 "u"
908 >a
909 >b
910 >c
911 >d
912 >
913 "2G."
914 >a
915 >b c d
916 >
917
918 ##---------------------------------------------------------------------
919 ## >> << コマンド
920 ##---------------------------------------------------------------------
921 <hoge
922 < fuga
923 < foo
924 <bar
925 "2>>"
926 > hoge
927 > fuga
928 > foo
929 >bar
930 >
931 "u"
932 >hoge
933 > fuga
934 > foo
935 >bar
936 >
937 "2<<"
938 >hoge
939 >fuga
940 > foo
941 >bar
942 >
943 "u"
944 >hoge
945 > fuga
946 > foo
947 >bar
948 >
949 "3G."
950 >hoge
951 > fuga
952 >foo
953 >bar
954 >
955
956 ##---------------------------------------------------------------------
957 ## :<digits> Enter
958 ##---------------------------------------------------------------------
959 <main() {
960 < hoge;
961 <}
962 =1 0
963 :2
964 =2 1
965 :3
966 =3 0
967 :4
968 =4 0 # EOF
969 :1
970 =1 0
971 :5
972 =1 0 # EOF 行を超えた場合は移動しない
973 :1,2
974 =2 1 # 行番号を複数指定した場合は、最後の行番号が有効
975 :0
976 =1 0 # :0 は先頭行に移動
977 :1+2
978 =3 0
979 :.+2
980 =3 0 # 2行進む
981 :4
982 :.-2
983 =2 1 # 2行戻る
984 :1
985 :+2
986 =3 0 # 2行進む
987 :4
988 :-2
989 =2 1 # 2行戻る
990 :$
991 =3 0
992 ##---------------------------------------------------------------------
993 ## :<range>d
994 ##---------------------------------------------------------------------
995 <1
996 <2
997 <3
998 <4
999 <5
1000 :2d
1001 >1
1002 >3
1003 >4
1004 >5
1005 >
1006 "u"
1007 >1
1008 >2
1009 >3
1010 >4
1011 >5
1012 >
1013 :2,4d
1014 >1
1015 >5
1016 >
1017 "u"
1018 :%d
1019 >
1020 "u"
1021 ##---------------------------------------------------------------------
1022 ## :<range>s/before/after/[g]
1023 ##---------------------------------------------------------------------
1024 <1
1025 <22
1026 <3
1027 :%s/2/xyz
1028 >1
1029 >xyz2
1030 >3
1031 >
1032 "u"
1033 :%s/2/xyz/
1034 >1
1035 >xyz2
1036 >3
1037 >
1038 "u"
1039 :%s/2/xyz/g
1040 >1
1041 >xyzxyz
1042 >3
1043 >
1044

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26