1Test for "*Cmd" autocommands 2 3STARTTEST 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 $ 264GA1 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 445Goasdf:" 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! 59ENDTEST 60 61start of Xxx 62 test40 63end of Xxx 64