fork for IVI
[profile/ivi/vim.git] / src / testdir / test40.in
1 Test for "*Cmd" autocommands
2
3 STARTTEST
4 :so small.vim
5 :/^start/,$w! Xxx               " write lines below to Xxx
6 :au BufReadCmd testA 0r Xxx|$del
7 :e testA                        " will read text of Xxd instead
8 :au BufWriteCmd testA call append(line("$"), "write")
9 :w                              " will append a line to the file
10 :r testA                        " should not read anything
11 :                               " now we have:
12 :                               " 1     start of Xxx
13 :                               " 2             test40
14 :                               " 3     end of Xxx
15 :                               " 4     write
16 :au FileReadCmd testB '[r Xxx
17 :2r testB                       " will read Xxx below line 2 instead
18 :                               " 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
25 :au FileWriteCmd testC '[,']copy $
26 4GA1\e
27 :4,5w testC                     " will copy lines 4 and 5 to the end
28 :r testC                        " should not read anything
29 :                               " 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
38 :au FILEAppendCmd testD '[,']w! test.out
39 :w >>testD                      " will write all lines to test.out
40 :$r testD                       " should not read anything
41 :$w >>test.out                  " append "end of Xxx" to test.out
42 :au BufReadCmd testE 0r test.out|$del
43 :sp testE                       " split window with test.out
44 5Goasdf\e\17\17:"
45 :au BufWriteCmd testE w! test.out
46 :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!
59 ENDTEST
60
61 start of Xxx
62         test40
63 end of Xxx