blob: d92a18f3d095e96047e8986bf1a6035fada1fb23 [file] [log] [blame]
Test for "*Cmd" autocommands
STARTTEST
:so small.vim
:/^start/,$w! Xxx " write lines below to Xxx
:au BufReadCmd XtestA 0r Xxx|$del
:e XtestA " will read text of Xxd instead
:au BufWriteCmd XtestA call append(line("$"), "write")
:w " will append a line to the file
:r XtestA " should not read anything
: " now we have:
: " 1 start of Xxx
: " 2 test40
: " 3 end of Xxx
: " 4 write
:au FileReadCmd XtestB '[r Xxx
:2r XtestB " will read Xxx below line 2 instead
: " 1 start of Xxx
: " 2 test40
: " 3 start of Xxx
: " 4 test40
: " 5 end of Xxx
: " 6 end of Xxx
: " 7 write
:au FileWriteCmd XtestC '[,']copy $
4GA1
:4,5w XtestC " will copy lines 4 and 5 to the end
:r XtestC " should not read anything
: " 1 start of Xxx
: " 2 test40
: " 3 start of Xxx
: " 4 test401
: " 5 end of Xxx
: " 6 end of Xxx
: " 7 write
: " 8 test401
: " 9 end of Xxx
:au FILEAppendCmd XtestD '[,']w! test.out
:w >>XtestD " will write all lines to test.out
:$r XtestD " should not read anything
:$w >>test.out " append "end of Xxx" to test.out
:au BufReadCmd XtestE 0r test.out|$del
:sp XtestE " split window with test.out
5Goasdf:"
:au BufWriteCmd XtestE w! test.out
:wall " will write other window to test.out
: " 1 start of Xxx
: " 2 test40
: " 3 start of Xxx
: " 4 test401
: " 5 end of Xxx
: " 6 asdf
: " 7 end of Xxx
: " 8 write
: " 9 test401
: " 10 end of Xxx
: " 11 end of Xxx
:qa!
ENDTEST
start of Xxx
test40
end of Xxx