1 1.1 christos # @(#)autowrite 8.3 (Berkeley) 2/17/95 2 1.1 christos 3 1.1 christos Vi autowrite behavior, the fields with *'s are "don't cares". 4 1.1 christos 5 1.1 christos =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 6 1.1 christos Commands that are affected only by autowrite: 7 1.1 christos 8 1.1 christos Command File Autowrite? Action: 9 1.1 christos modified? 10 1.1 christos ----------------------------------------------- 11 1.1 christos ^Z Y Y Write file and suspend. 12 1.1 christos ^Z Y N Suspend. 13 1.1 christos ^Z N * Suspend. 14 1.1 christos 15 1.1 christos # This behavior is NOT identical to :edit. 16 1.1 christos ^^ Y Y Write file and jump. 17 1.1 christos ^^ Y N Error. 18 1.1 christos ^^ N * Jump. 19 1.1 christos 20 1.1 christos # The new nvi command ^T (:tagpop) behaves identically to ^]. 21 1.1 christos # This behavior is identical to :tag, :tagpop, and :tagpush with 22 1.1 christos # force always set to N. 23 1.1 christos ^] Y Y Write file and jump. 24 1.1 christos ^] Y N Error. 25 1.1 christos ^] N * Jump. 26 1.1 christos 27 1.1 christos # There's no way to specify a force flag to the '!' command. 28 1.1 christos :! Y Y Write file and execute. 29 1.1 christos :! Y N Warn (if warn option) and execute. 30 1.1 christos :! N * Execute. 31 1.1 christos 32 1.1 christos =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 33 1.1 christos Commands that are affected by both autowrite and force: 34 1.1 christos 35 1.1 christos NOTE: the "force" flag is never passed on, i.e. the write 36 1.1 christos to the file caused by the autowrite flag is never forced. 37 1.1 christos 38 1.1 christos Command File Autowrite? Force? Action: 39 1.1 christos modified? (!) 40 1.1 christos ------------------------------------------------------- 41 1.1 christos # The first rule (YYY) is historic practice, but seems wrong. 42 1.1 christos # In nvi, :next and :prev commands behave identically to :rewind. 43 1.1 christos :next Y Y Y Write changes and jump. 44 1.1 christos :next Y Y N Write changes and jump. 45 1.1 christos :next Y N Y Abandon changes and jump. 46 1.1 christos :next Y N N Error. 47 1.1 christos :next N * * Jump. 48 1.1 christos 49 1.1 christos :rewind Y Y Y Abandon changes and jump. 50 1.1 christos :rewind Y Y N Write changes and jump. 51 1.1 christos :rewind Y N Y Abandon changes and jump. 52 1.1 christos :rewind Y N N Error. 53 1.1 christos :rewind N * * Jump. 54 1.1 christos 55 1.1 christos # The new nvi commands, :tagpop and :tagtop, behave identically to :tag. 56 1.1 christos # Note, this behavior is the same as :rewind and friends, as well. 57 1.1 christos :tag Y Y Y Abandon changes and jump. 58 1.1 christos :tag Y Y N Write changes and jump. 59 1.1 christos :tag Y N Y Abandon changes and jump. 60 1.1 christos :tag Y N N Error. 61 1.1 christos :tag N * * Jump. 62 1.1 christos 63 1.1 christos # The command :suspend behaves identically to :stop. 64 1.1 christos :stop Y Y Y Suspend. 65 1.1 christos :stop Y Y N Write changes and suspend. 66 1.1 christos :stop Y N Y Suspend. 67 1.1 christos :stop Y N N Suspend. 68 1.1 christos :stop N * * Suspend. 69 1.1 christos 70 1.1 christos =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 71 1.1 christos Commands that might be affected by autowrite, but aren't: 72 1.1 christos 73 1.1 christos Command File Autowrite? Force? Action: 74 1.1 christos modified? (!) 75 1.1 christos ------------------------------------------------------- 76 1.1 christos #:ex, and :vi (executed while in vi mode) behave identically to :edit. 77 1.1 christos :edit Y * Y Abandon changes and jump. 78 1.1 christos :edit Y * N Error. 79 1.1 christos :edit N * * Jump. 80 1.1 christos 81 1.1 christos :quit Y * Y Quit. 82 1.1 christos :quit Y * N Error. 83 1.1 christos :quit N * * Quit. 84 1.1 christos 85 1.1 christos :shell * * * Execute shell. 86 1.1 christos 87 1.1 christos :xit Y * * Write changes and exit. 88 1.1 christos :xit N * * Exit. 89