Desenvolver e Download de Software Open Source

Browse Subversion Repository

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

Parent Directory Parent Directory | Revision Log Revision Log


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

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