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 361 - (hide annotations) (download)
Sun Jun 5 06:47:35 2011 UTC (13 years ago) by vivisuke
File size: 17461 byte(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 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 vivisuke 354 ## gh gj gk gl コマンド(マルチカーソル移動)
420     ##---------------------------------------------------------------------
421     <a
422     <b
423     <c
424     "gjgjix" 0x1b
425     >xa
426     >xb
427     >xc
428     >
429    
430     ##---------------------------------------------------------------------
431 vivisuke 359 ## m<英字> '<英字> `<英字> コマンド(マルチカーソル移動)
432     ##---------------------------------------------------------------------
433     <main()
434     <{
435     < printf("hello, world.");
436     <}
437     "mm" # main 位置をマーク as m
438     "lma" # a 位置をマーク as a
439     =1 1
440     "+jmt" # 3行目 Tab 位置をマーク as t
441     =3 0
442    
443 vivisuke 361 "'m" =1 0
444     "'a" =1 0
445     "'t" =3 1
446     "`m" =1 0
447     "`a" =1 1
448     "`t" =3 0
449 vivisuke 359
450 vivisuke 361 "ggO" 0x1b # 1行目に空行挿入
451    
452     "'m" =2 0
453     "'a" =2 0
454     "'t" =4 1
455     "`m" =2 0
456     "`a" =2 1
457     "`t" =4 0
458    
459     0x1b # 念のため
460    
461 vivisuke 359 ##---------------------------------------------------------------------
462 vivisuke 270 ## i コマンド
463     ##---------------------------------------------------------------------
464     <hoge
465     "ifoo" 0x1b
466     >foohoge
467     >
468     =1 2 # Esc でカーソルは左にひとつ戻る
469     "." # repeat i command
470     >fofooohoge
471     >
472     "." # repeat i command
473     >fofofoooohoge
474     >
475     "3ix" 0x1b # 3回 x 挿入
476     >fofofoxxxooohoge
477     >
478     "0iX Y" 0x1b
479     >X Yfofofoxxxooohoge
480     >
481     "u0."
482     >X Yfofofoxxxooohoge
483     >
484    
485     ##---------------------------------------------------------------------
486     ## I コマンド
487     ##---------------------------------------------------------------------
488     < hoge
489     =1 0
490     "Ixyz" 0x1b # hoge の直前に挿入
491     > xyzhoge
492     >
493     "$4I8" 0x1b # 8 を 4回挿入
494     > 8888xyzhoge
495     >
496     "u"
497     > xyzhoge
498     >
499     "." # repeat I command
500     > 8888xyzhoge
501     >
502     "u3." # 8を4回ではなく3回挿入
503     > 888xyzhoge
504     >
505     ##---------------------------------------------------------------------
506     ## a コマンド
507     ##---------------------------------------------------------------------
508     <hoge
509     "afoo" 0x1b
510     >hfoooge
511     >
512     =1 3 # Esc でカーソルは左にひとつ戻る
513     "." # repeat i command
514     >hfoofoooge
515     >
516     "." # repeat i command
517     >hfoofoofoooge
518     >
519     "3ax" 0x1b # 3回 x 挿入
520     >hfoofoofooxxxoge
521     >
522 vivisuke 341
523     <あああ
524     "$ax" 0x1b
525     >あああx
526     >
527    
528 vivisuke 270 ##---------------------------------------------------------------------
529     ## A コマンド
530     ##---------------------------------------------------------------------
531     < hoge
532     =1 0
533     "Axyz" 0x1b # hoge の直前に挿入
534     > hogexyz
535     >
536     "04A8" 0x1b # 8 を 4回挿入
537     > hogexyz8888
538     >
539 vivisuke 342 "u" # xyz と 8888 は一度に undo されない
540     > hogexyz
541     >
542     "u" # xyz と 8888 は一度に undo されない
543 vivisuke 270 > hoge
544     >
545     "." # repeat A command
546     > hoge8888
547     >
548     "u3." # 8を4回ではなく3回挿入
549     > hoge888
550     >
551     ##---------------------------------------------------------------------
552     ## C コマンド
553     ##---------------------------------------------------------------------
554     <main()
555     "fiCXYZ" 0x1b
556     >maXYZ
557     >
558     =1 4
559    
560     ##---------------------------------------------------------------------
561     ## cc コマンド
562     ##---------------------------------------------------------------------
563     <abc
564     <xyz
565     <123
566     "2Gcchogehoge" 0x1b
567     >abc
568     >hogehoge
569     >123
570     >
571     =2 7
572     "u1G2ccfoo" 0x1b # 1, 2 行を置換
573     >foo
574     >123
575     >
576    
577     ##---------------------------------------------------------------------
578     ## S コマンド (オートインデント非サポート)
579     ##---------------------------------------------------------------------
580     <abc
581     <xyz
582     <123
583     "2GShogehoge" 0x1b
584     >abc
585     >hogehoge
586     >123
587     >
588     =2 7
589     "u1G2Sfoo" 0x1b # 1, 2 行を置換
590     >foo
591     >123
592     >
593     ##---------------------------------------------------------------------
594     ## s コマンド
595     ##---------------------------------------------------------------------
596     <main
597     "sXYZ" 0x1b
598     =1 2
599     >XYZain
600     >
601     "$." # n に移動して再置換
602     >XYZaiXYZ
603     >
604     "03s54321" 0x1b # 3文字→5文字置換
605     >54321aiXYZ
606     >
607     "fX2." # X に移動して 2文字→5文字置換
608     >54321ai54321Z
609     >
610     ##---------------------------------------------------------------------
611     ## o コマンド
612     ##---------------------------------------------------------------------
613     <hoge
614     "oabc" 0x1b
615     >hoge
616     >abc
617     >
618     =2 2
619     "."
620     >hoge
621     >abc
622     >abc
623     >
624     "1G3ox" 0x1b // x<改行> を3行挿入
625     >hoge
626     >x
627     >x
628     >x
629     >abc
630     >abc
631     >
632     ##---------------------------------------------------------------------
633     ## O コマンド
634     ##---------------------------------------------------------------------
635     <hoge
636     "Oabc" 0x1b
637     >abc
638     >hoge
639     >
640     =1 2
641     "3OZZZ" 0x1b
642     >ZZZ
643     >ZZZ
644     >ZZZ
645     >abc
646     >hoge
647     >
648     ##---------------------------------------------------------------------
649     ## x X コマンド
650     ##---------------------------------------------------------------------
651     <hogefuga
652     "x"
653     >ogefuga
654     >
655     "u"
656 vivisuke 320 =1 0 ### undo 後のカーソル位置は削除した文字の先頭
657 vivisuke 270 "03x"
658     >efuga
659     >
660     "u0."
661     >efuga
662     >
663     "u02."
664     >gefuga
665     >
666     "u0ff9x"
667     >hoge
668     >
669     "u0X"
670     >hogefuga
671     >
672     "ffX"
673     >hogfuga
674     >
675 vivisuke 320 "u" =1 4 ## 削除前カーソル位置
676 vivisuke 326 "0ff3X"
677 vivisuke 270 >hfuga
678     >
679     ##---------------------------------------------------------------------
680     ## D コマンド
681     ##---------------------------------------------------------------------
682     <main()
683     "fiD"
684     =1 1
685     >ma
686     >
687     "u0fi2D" # 繰り返し回数は無視される
688     =1 1
689     >ma
690     >
691     "u0fn."
692     >mai
693     >
694    
695    
696     ##---------------------------------------------------------------------
697     ## dd, d<move> コマンド
698     ##---------------------------------------------------------------------
699     <1
700     <2
701     <3
702     <4
703     <5
704     "2Gdd" # 2行目を削除
705     >1
706     >3
707     >4
708     >5
709     >
710     "u"
711     >1
712     >2
713     >3
714     >4
715     >5
716     >
717 vivisuke 320 =2 0 # カーソルは2行目に移動
718 vivisuke 317 0x1b "2." # 2行削除
719 vivisuke 270 >1
720 vivisuke 320 >4
721 vivisuke 270 >5
722     >
723     "u"
724     >1
725     >2
726     >3
727     >4
728     >5
729     >
730 vivisuke 320 =2 0 # カーソルは2行目
731 vivisuke 270 <abc = 1;
732     "dw" # 次の単語先頭直前まで削除
733     >= 1;
734     >
735     "u0." # undo & 行頭移動 & repeat dw コマンド
736     >= 1;
737     >
738     "u02." # undo & 行頭移動 & repeat dw コマンド 2-times
739     >1;
740     >
741     "u0d2w" # undo & 行頭移動 & d2w
742     >1;
743     >
744     "u0." # undo & 行頭移動 & repeat d2w コマンド
745     >1;
746     >
747     <abc = 1;
748     <xyz = 123;
749     "f;dw" # 行末の単語(;)を削除
750     >abc = 1
751     >xyz = 123;
752     >
753     "u0f;d2w" # 行末から次の行の最初の単語を削除
754     >abc = 1= 123;
755     >
756    
757     <abc = 1;
758     "de" # abc のみを削除
759     > = 1;
760     >
761    
762     <main()
763     <
764     <hoge
765     "f(" =1 4
766     "d}" # 2行目までを行単位削除
767     >hoge
768     >
769    
770     <main()
771     "cfn123" 0x1b
772     >123()
773     >
774     "u0l."
775     >m123()
776     >
777    
778     <main()
779     "dfi" # i まで削除
780     >n()
781     >
782     "u0d;" # i まで削除
783     >n()
784     >
785     "u0dti" # i 直前まで削除
786     >in()
787     >
788    
789     ##---------------------------------------------------------------------
790     ## r コマンド
791     ##---------------------------------------------------------------------
792     <main()
793     "r3"
794     >3ain()
795     >
796     "u03r0"
797     >000n()
798     >
799     <hoge
800     <fuga
801     "3r="
802     >===e
803     >fuga
804     >
805     "u0fg3r="
806     >ho===
807     >fuga
808     >
809    
810     ##---------------------------------------------------------------------
811     ## R コマンド
812     ##---------------------------------------------------------------------
813    
814     <main()
815     "RXY" 0x1b =1 1
816     >XYin()
817     >
818 vivisuke 342 "u03R-=" 0x1b =1 5 # R の繰り返し:上書きされるのは実際に入力した文字数まで
819     >-=-=-=in()
820 vivisuke 270 >
821     <hoge
822     <fuga
823     "R=======" 0x1b # 改行は上書きされない
824     >=======
825     >fuga
826     >
827    
828     ##---------------------------------------------------------------------
829     ## dd d<move> x X 後の p P
830     ##---------------------------------------------------------------------
831     <main()
832     "xp" # m, a を入れ替え
833     >amin()
834     >
835     "2p" # m を2回ペースト
836     >ammmin()
837     >
838     <main()
839     <hoge
840     "lddp" # 2文字目に移動して、1, 2 行目を入れ替え
841     >hoge
842     >main()
843     >
844     <11
845     <222
846     <3333
847     <44444
848     "jl2YP" # 2行目2文字目に移動してヤンク・ペースト
849     =2 0 # カーソルは2行目最初
850     >11
851     >222
852     >3333
853     >222
854     >3333
855     >44444
856     >
857     "ulp" # 元にもどして、2行目2文字目に移動してペースト
858     >11
859     >222
860     >222
861     >3333
862     >3333
863     >44444
864     >
865     =3 0
866     "2yyP"
867     >11
868     >222
869     >222
870     >3333
871     >222
872     >3333
873     >3333
874     >44444
875     >
876     # 空でないEOF行で行単位pした場合
877     <abc
878     <xyzzz
879     "3GiZZZ" 0x1b # 空でないEOF行作成
880     >abc
881     >xyzzz
882     >ZZZ
883     "kdd" # 2行目削除
884     >abc
885     >ZZZ
886     =2 0
887     "p" # 行単位ペースト
888     >abc
889     >ZZZ
890     >xyzzz
891     >
892     "2p" # 2行ペースト
893     >abc
894     >ZZZ
895     >xyzzz
896     >xyzzz
897     >xyzzz
898     >
899    
900     ##---------------------------------------------------------------------
901     ## yy y<move> Y 後の p P
902     ##---------------------------------------------------------------------
903     <main()
904     "ywP"
905     =1 0
906     >mainmain()
907     >
908     "uywp"
909     >mmainain()
910     >
911     "ufiYp"
912     =2 0
913     >main()
914     >main()
915     >
916     <foo
917     <bar
918     <hoge
919     "yyGp"
920     >foo
921     >bar
922     >hoge
923     >foo
924     >
925     <main()
926     "yfiP"
927     >maimain()
928     >
929     "y;p"
930     >mmaiaimain()
931     >
932    
933     ##---------------------------------------------------------------------
934     ## J コマンド
935     ##---------------------------------------------------------------------
936     <a
937     <x
938     "J" # join 時に空白が挿入される
939     >a x
940     >
941     <a
942     <x
943     "J" # join 時、行末に空白類がある場合は空白は挿入されない
944     >a x
945     >
946     <a
947     < x
948     "J" # join 時、次行先頭空白類列は空白ひとつに置換される
949     >a x
950     >
951     <a
952     <b
953     <c
954     <d
955     "3J" # 3回join ではなく、3行join
956     >a b c
957     >d
958     >
959     "u"
960     >a
961     >b
962     >c
963     >d
964     >
965     "2G."
966     >a
967     >b c d
968     >
969    
970     ##---------------------------------------------------------------------
971     ## >> << コマンド
972     ##---------------------------------------------------------------------
973     <hoge
974     < fuga
975     < foo
976     <bar
977     "2>>"
978     > hoge
979     > fuga
980     > foo
981     >bar
982     >
983     "u"
984     >hoge
985     > fuga
986     > foo
987     >bar
988     >
989     "2<<"
990     >hoge
991     >fuga
992     > foo
993     >bar
994     >
995     "u"
996     >hoge
997     > fuga
998     > foo
999     >bar
1000     >
1001     "3G."
1002     >hoge
1003     > fuga
1004     >foo
1005     >bar
1006     >
1007    
1008     ##---------------------------------------------------------------------
1009     ## :<digits> Enter
1010     ##---------------------------------------------------------------------
1011     <main() {
1012     < hoge;
1013     <}
1014     =1 0
1015     :2
1016     =2 1
1017     :3
1018     =3 0
1019     :4
1020     =4 0 # EOF 行
1021     :1
1022     =1 0
1023     :5
1024     =1 0 # EOF 行を超えた場合は移動しない
1025     :1,2
1026     =2 1 # 行番号を複数指定した場合は、最後の行番号が有効
1027     :0
1028     =1 0 # :0 は先頭行に移動
1029     :1+2
1030     =3 0
1031     :.+2
1032     =3 0 # 2行進む
1033     :4
1034     :.-2
1035     =2 1 # 2行戻る
1036     :1
1037     :+2
1038     =3 0 # 2行進む
1039     :4
1040     :-2
1041     =2 1 # 2行戻る
1042     :$
1043     =3 0
1044     ##---------------------------------------------------------------------
1045     ## :<range>d
1046     ##---------------------------------------------------------------------
1047     <1
1048     <2
1049     <3
1050     <4
1051     <5
1052     :2d
1053     >1
1054     >3
1055     >4
1056     >5
1057     >
1058     "u"
1059     >1
1060     >2
1061     >3
1062     >4
1063     >5
1064     >
1065     :2,4d
1066     >1
1067     >5
1068     >
1069     "u"
1070     :%d
1071     >
1072     "u"
1073     ##---------------------------------------------------------------------
1074     ## :<range>s/before/after/[g]
1075     ##---------------------------------------------------------------------
1076     <1
1077     <22
1078     <3
1079     :%s/2/xyz
1080     >1
1081     >xyz2
1082     >3
1083     >
1084     "u"
1085     :%s/2/xyz/
1086     >1
1087     >xyz2
1088     >3
1089     >
1090     "u"
1091     :%s/2/xyz/g
1092     >1
1093     >xyzxyz
1094     >3
1095     >
1096    
1097 vivisuke 339 <a
1098     :s/a/A
1099     >A
1100     >

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