blob: d92a18f3d095e96047e8986bf1a6035fada1fb23 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001Test for "*Cmd" autocommands
2
3STARTTEST
4:so small.vim
5:/^start/,$w! Xxx " write lines below to Xxx
Bram Moolenaar707060e2013-02-14 20:58:35 +01006:au BufReadCmd XtestA 0r Xxx|$del
7:e XtestA " will read text of Xxd instead
8:au BufWriteCmd XtestA call append(line("$"), "write")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009:w " will append a line to the file
Bram Moolenaar707060e2013-02-14 20:58:35 +010010:r XtestA " should not read anything
Bram Moolenaar071d4272004-06-13 20:20:40 +000011: " now we have:
12: " 1 start of Xxx
13: " 2 test40
14: " 3 end of Xxx
15: " 4 write
Bram Moolenaar707060e2013-02-14 20:58:35 +010016:au FileReadCmd XtestB '[r Xxx
17:2r XtestB " will read Xxx below line 2 instead
Bram Moolenaar071d4272004-06-13 20:20:40 +000018: " 1 start of Xxx
19: " 2 test40
20: " 3 start of Xxx
21: " 4 test40
22: " 5 end of Xxx
23: " 6 end of Xxx
24: " 7 write
Bram Moolenaar707060e2013-02-14 20:58:35 +010025:au FileWriteCmd XtestC '[,']copy $
Bram Moolenaar071d4272004-06-13 20:20:40 +0000264GA1
Bram Moolenaar707060e2013-02-14 20:58:35 +010027:4,5w XtestC " will copy lines 4 and 5 to the end
28:r XtestC " should not read anything
Bram Moolenaar071d4272004-06-13 20:20:40 +000029: " 1 start of Xxx
30: " 2 test40
31: " 3 start of Xxx
32: " 4 test401
33: " 5 end of Xxx
34: " 6 end of Xxx
35: " 7 write
36: " 8 test401
37: " 9 end of Xxx
Bram Moolenaar707060e2013-02-14 20:58:35 +010038:au FILEAppendCmd XtestD '[,']w! test.out
39:w >>XtestD " will write all lines to test.out
40:$r XtestD " should not read anything
Bram Moolenaar071d4272004-06-13 20:20:40 +000041:$w >>test.out " append "end of Xxx" to test.out
Bram Moolenaar707060e2013-02-14 20:58:35 +010042:au BufReadCmd XtestE 0r test.out|$del
43:sp XtestE " split window with test.out
Bram Moolenaar071d4272004-06-13 20:20:40 +0000445Goasdf:"
Bram Moolenaar707060e2013-02-14 20:58:35 +010045:au BufWriteCmd XtestE w! test.out
Bram Moolenaar071d4272004-06-13 20:20:40 +000046:wall " will write other window to test.out
47: " 1 start of Xxx
48: " 2 test40
49: " 3 start of Xxx
50: " 4 test401
51: " 5 end of Xxx
52: " 6 asdf
53: " 7 end of Xxx
54: " 8 write
55: " 9 test401
56: " 10 end of Xxx
57: " 11 end of Xxx
58:qa!
59ENDTEST
60
61start of Xxx
62 test40
63end of Xxx