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 339 - (hide annotations) (download)
Thu May 19 06:45:16 2011 UTC (13 years ago) by vivisuke
File size: 16457 byte(s)
fixed: 「あa」行で :s/a/A を実行すると結果が不正になる
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 vivisuke 317 :set nolinebreak
24 vivisuke 339
25 vivisuke 270 ##----------------------------------------------------------------------
26     ## h j k l による単純なカーソル移動
27     ##---------------------------------------------------------------------
28     <main()
29     <{
30     < printf("hello, world.\n");
31     <}
32     =1 0
33     >main()
34     >{
35     > printf("hello, world.\n");
36     >}
37     >
38     "j" =2 0
39     "j" =3 0
40     "j" =4 0
41     "j" =5 0 # EOF
42     "j" =5 0 # EOF
43     "k" =4 0
44     "k" =3 0
45     "k" =2 0
46     "k" =1 0
47     "k" =1 0
48     "l" =1 1 # a
49     "l" =1 2 # i
50     "l" =1 3 # n
51     "l" =1 4 # (
52     "l" =1 5 # )
53     "l" =1 5
54     "h" =1 4
55     "h" =1 3
56     "h" =1 2
57     "h" =1 1
58     "h" =1 0
59     "h" =1 0
60    
61     <{
62     < hoge;
63     <}
64     "$j" =2 5
65     "j" =3 0
66     "k" =2 5
67    
68     ##---------------------------------------------------------------------
69     ## h j k l 繰り返し回数前置
70     ##---------------------------------------------------------------------
71     <main()
72     <{
73     < printf("hello, world.\n");
74     <}
75     "2j" =3 0
76     "3j" =5 0
77     "3k" =2 0
78     "3k" =1 0
79     "3l" =1 3
80     "3l" =1 5
81     "3h" =1 2
82     "3h" =1 0
83    
84     ##---------------------------------------------------------------------
85     ## j k でカラム位置が保存されるかどうか
86     ##---------------------------------------------------------------------
87     <012345
88     <012
89     <0123456789
90     "5l" =1 5
91     "j" =2 2
92     "j" =3 5
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 vivisuke 305
195 vivisuke 270 ##---------------------------------------------------------------------
196     ## W B E
197     ##---------------------------------------------------------------------
198     <main()
199     <{
200     < printf("hello, world.\n");
201     < 123xy xyzあい漢字あいカナ漢字あい。漢字。
202     <
203     <}
204     =1 0
205     "W" =2 0 # {
206     "W" =3 1 # print
207     "W" =3 16 # world
208     "W" =4 1 # 123
209     "W" =4 7 # xyz
210     "W" =6 0 # }
211     "W" =7 0 # EOF
212     "B" =6 0 # }
213     "B" =4 7 # xyz
214     "B" =4 1 # 123
215     "B" =3 16 # world
216     "B" =3 1 # print
217     "B" =2 0 # {
218     "B" =1 0 # main
219     "E" =1 5 # )
220     "E" =2 0 # {
221     "E" =3 14 # ,
222     "E" =3 26 # ;
223     "E" =4 5 # y
224     "E" =4 25 # 。
225     "E" =6 0 # }
226     "E" =7 0 # EOF
227    
228     <main()
229     <{
230     < printf("hello, world.\n");
231     < 123xy xyzあい漢字あいカナ漢字あい。漢字。
232     <}
233     =1 0
234     "2W" =3 1 # {
235     "99W" =6 0
236     "2B" =4 7 # xyz
237     "99B" =1 0
238     "3E" =3 14 # ,
239     "99E" =6 0 # EOF
240     ##---------------------------------------------------------------------
241     ## 0 ^ $ 行内移動コマンド
242     ##---------------------------------------------------------------------
243     < abc
244     =1 0
245     "$" =1 3
246     "^" =1 1
247     "0" =1 0
248     <あいう
249     "$" =1 2
250     "^" =1 0
251     "0" =1 0
252    
253     ##---------------------------------------------------------------------
254     ## % コマンド
255     ##---------------------------------------------------------------------
256     <main()
257     <{
258     < for(;;) {
259     < }
260     <}
261     "%" =1 5
262     "%" =1 4
263     "%" =1 5
264     "2G%" =5 0
265     "%" =2 0
266     "3G%" =3 7
267     "%" =3 4
268     "%" =3 7
269     "0f;%" =3 4
270     "gg2%" =1 5 # 繰り返し回数は無視
271    
272     ##---------------------------------------------------------------------
273     ## } { コマンド
274     ##---------------------------------------------------------------------
275     <main()
276     <
277     <hoge
278     <fuga
279     <
280     <foo
281     "}" =2 0
282     "}" =5 0
283     "}" =7 0
284     "{" =5 0
285     "{" =2 0
286     "{" =1 0
287     "2}" =5 0
288     "2}" =7 0
289     "2{" =2 0
290     "2{" =1 0
291    
292     ##---------------------------------------------------------------------
293     ## ]] [[ コマンド
294     ##---------------------------------------------------------------------
295     <main()
296     <{
297     <}
298     <foo()
299     <{
300     <}
301     <bar()
302     <{
303     <}
304     "]]" =2 0
305     "]]" =5 0
306     "]]" =8 0
307     "]]" =10 0
308     "[[" =8 0
309     "[[" =5 0
310     "[[" =2 0
311     "[[" =1 0
312     "3]]" =8 0
313     "3]]" =10 0
314     "2[[" =5 0
315     "3[[" =1 0
316    
317     ##---------------------------------------------------------------------
318     ## G gg コマンド
319     ##---------------------------------------------------------------------
320     < main()
321     <{
322     < print;
323     <}
324     <foo()
325     <{
326     <}
327     <bar()
328     <{
329     < }
330     "G" =10 1
331     "gg" =1 1
332     "2G" =2 0
333     "3G" =3 1
334     <hoge
335     <fuga
336     "2GJ" // EOF行を空でないようにする
337     >hoge
338     >fuga
339     "ggG" =2 0
340    
341     ##---------------------------------------------------------------------
342     ## - + Enter コマンド
343     ##---------------------------------------------------------------------
344     <main()
345     <{
346     < printf("hello, world.\n");
347     < 123xy xyzあい漢字あいカナ漢字あい。漢字。
348     <}
349     "+" =2 0
350     "+" =3 1
351     "2+" =5 0
352     "2+" =6 0
353     "-" =5 0
354     "-" =4 1
355     "2-" =2 0
356     "3-" =1 0
357     0x0d =2 0
358     0x0d =3 1
359     "2" 0x0d =5 0
360     "2" 0x0d =6 0
361    
362     ##---------------------------------------------------------------------
363     ## H M L コマンド
364     ##---------------------------------------------------------------------
365     < 1
366     <2
367     < 3
368     <4
369     < 5
370     "L" =5 1
371     "H" =1 1
372     "M" =3 1
373     "2H" =2 0
374     "3L" =3 1
375    
376     ##---------------------------------------------------------------------
377     ## /? n N コマンド
378     ##---------------------------------------------------------------------
379     <main()
380     <{
381     < printf("hello, world.\n");
382     < 123xy xyzあい漢字あいカナ漢字あい。漢字。
383     <}
384     /i
385     =1 2
386     "n" =3 3
387     "n" =1 2
388     "1G2n" =3 3
389    
390     ##---------------------------------------------------------------------
391     ## f F t T ; , コマンド
392     ##---------------------------------------------------------------------
393     <mainmain
394     "fi" =1 2
395     "fi" =1 6
396     "fi" =1 6
397     "," =1 2
398     "0;" =1 2
399     "02;" =1 6
400     "$2," =1 2
401     "0ti" =1 1
402     "ti" =1 1
403     "02ti" =1 5
404     "," =1 3
405     ";" =1 5
406     "2;" =1 5
407     "$Fi" =1 6
408     "Fi" =1 2
409     "Fi" =1 2
410     "$2;" =1 2
411     "$Ti" =1 7
412     "Ti" =1 7
413     "$2Ti" =1 3
414     "," =1 5
415     ";" =1 3
416     "2;" =1 3
417    
418     ##---------------------------------------------------------------------
419     ## i コマンド
420     ##---------------------------------------------------------------------
421     <hoge
422     "ifoo" 0x1b
423     >foohoge
424     >
425     =1 2 # Esc でカーソルは左にひとつ戻る
426     "." # repeat i command
427     >fofooohoge
428     >
429     "." # repeat i command
430     >fofofoooohoge
431     >
432     "3ix" 0x1b # 3回 x 挿入
433     >fofofoxxxooohoge
434     >
435     "0iX Y" 0x1b
436     >X Yfofofoxxxooohoge
437     >
438     "u0."
439     >X Yfofofoxxxooohoge
440     >
441    
442     ##---------------------------------------------------------------------
443     ## I コマンド
444     ##---------------------------------------------------------------------
445     < hoge
446     =1 0
447     "Ixyz" 0x1b # hoge の直前に挿入
448     > xyzhoge
449     >
450     "$4I8" 0x1b # 84回挿入
451     > 8888xyzhoge
452     >
453     "u"
454     > xyzhoge
455     >
456     "." # repeat I command
457     > 8888xyzhoge
458     >
459     "u3." # 84回ではなく3回挿入
460     > 888xyzhoge
461     >
462     ##---------------------------------------------------------------------
463     ## a コマンド
464     ##---------------------------------------------------------------------
465     <hoge
466     "afoo" 0x1b
467     >hfoooge
468     >
469     =1 3 # Esc でカーソルは左にひとつ戻る
470     "." # repeat i command
471     >hfoofoooge
472     >
473     "." # repeat i command
474     >hfoofoofoooge
475     >
476     "3ax" 0x1b # 3回 x 挿入
477     >hfoofoofooxxxoge
478     >
479     ##---------------------------------------------------------------------
480     ## A コマンド
481     ##---------------------------------------------------------------------
482     < hoge
483     =1 0
484     "Axyz" 0x1b # hoge の直前に挿入
485     > hogexyz
486     >
487     "04A8" 0x1b # 84回挿入
488     > hogexyz8888
489     >
490     "u" # xyz8888 は一度に undo される
491     > hoge
492     >
493     "." # repeat A command
494     > hoge8888
495     >
496     "u3." # 84回ではなく3回挿入
497     > hoge888
498     >
499     ##---------------------------------------------------------------------
500     ## C コマンド
501     ##---------------------------------------------------------------------
502     <main()
503     "fiCXYZ" 0x1b
504     >maXYZ
505     >
506     =1 4
507    
508     ##---------------------------------------------------------------------
509     ## cc コマンド
510     ##---------------------------------------------------------------------
511     <abc
512     <xyz
513     <123
514     "2Gcchogehoge" 0x1b
515     >abc
516     >hogehoge
517     >123
518     >
519     =2 7
520     "u1G2ccfoo" 0x1b # 1, 2 行を置換
521     >foo
522     >123
523     >
524    
525     ##---------------------------------------------------------------------
526     ## S コマンド (オートインデント非サポート)
527     ##---------------------------------------------------------------------
528     <abc
529     <xyz
530     <123
531     "2GShogehoge" 0x1b
532     >abc
533     >hogehoge
534     >123
535     >
536     =2 7
537     "u1G2Sfoo" 0x1b # 1, 2 行を置換
538     >foo
539     >123
540     >
541     ##---------------------------------------------------------------------
542     ## s コマンド
543     ##---------------------------------------------------------------------
544     <main
545     "sXYZ" 0x1b
546     =1 2
547     >XYZain
548     >
549     "$." # n に移動して再置換
550     >XYZaiXYZ
551     >
552     "03s54321" 0x1b # 3文字→5文字置換
553     >54321aiXYZ
554     >
555     "fX2." # X に移動して 2文字→5文字置換
556     >54321ai54321Z
557     >
558     ##---------------------------------------------------------------------
559     ## o コマンド
560     ##---------------------------------------------------------------------
561     <hoge
562     "oabc" 0x1b
563     >hoge
564     >abc
565     >
566     =2 2
567     "."
568     >hoge
569     >abc
570     >abc
571     >
572     "1G3ox" 0x1b // x<改行> を3行挿入
573     >hoge
574     >x
575     >x
576     >x
577     >abc
578     >abc
579     >
580     ##---------------------------------------------------------------------
581     ## O コマンド
582     ##---------------------------------------------------------------------
583     <hoge
584     "Oabc" 0x1b
585     >abc
586     >hoge
587     >
588     =1 2
589     "3OZZZ" 0x1b
590     >ZZZ
591     >ZZZ
592     >ZZZ
593     >abc
594     >hoge
595     >
596     ##---------------------------------------------------------------------
597     ## x X コマンド
598     ##---------------------------------------------------------------------
599     <hogefuga
600     "x"
601     >ogefuga
602     >
603     "u"
604 vivisuke 320 =1 0 ### undo 後のカーソル位置は削除した文字の先頭
605 vivisuke 270 "03x"
606     >efuga
607     >
608     "u0."
609     >efuga
610     >
611     "u02."
612     >gefuga
613     >
614     "u0ff9x"
615     >hoge
616     >
617     "u0X"
618     >hogefuga
619     >
620     "ffX"
621     >hogfuga
622     >
623 vivisuke 320 "u" =1 4 ## 削除前カーソル位置
624 vivisuke 326 "0ff3X"
625 vivisuke 270 >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 vivisuke 320 =2 0 # カーソルは2行目に移動
666 vivisuke 317 0x1b "2." # 2行削除
667 vivisuke 270 >1
668 vivisuke 320 >4
669 vivisuke 270 >5
670     >
671     "u"
672     >1
673     >2
674     >3
675     >4
676     >5
677     >
678 vivisuke 320 =2 0 # カーソルは2行目
679 vivisuke 270 <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    
1045 vivisuke 339 <a
1046     :s/a/A
1047     >A
1048     >

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