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