Loading ...
Sorry, an error occurred while loading the content.
 

Re: swap files reverting my work erroneously

Expand Messages
  • Paul
    The swap file stays around when vim crashes, for example. When it asks you if you want to recover, note that it also warns you to check the file and manually
    Message 1 of 25 , Aug 1, 2011
      The swap file stays around when vim crashes, for example. When it asks you if you want to recover, note that it also warns you to check the file and manually remove the swap file. It won't remove it for you. If you don't remove it, vim will detect it every time you open the file, and ask you to recover from it.

      --

      .

      --
      You received this message from the "vim_use" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • David Ohlemacher
      So once you have a swap file from a crash its there forever. That is until you delete the swp manually. And if you hit recover, your _newer_ file contents
      Message 2 of 25 , Aug 1, 2011
        So once you have a swap file from a crash its there forever.   That is until you delete the swp manually.   And if you hit recover, your newer file contents will be wiped out by an older swap file's contents?

        I assumed (word chosen carefully), that once you've recovered from a swap file, the swap would be updated to mirror the current buffer.    

        I think noswapfile will checked into my env repo.  When you have 30+ buffers open, this is not very useful to me.

        Thanks Paul.  My Vim book does not mention swp files.  
        The online help says "The swap file is deleted as soon as Vim stops editing the file".  But there may be more than one!

        -d

        On 08/01/2011 06:04 PM, Paul wrote:
        The swap file stays around when vim crashes, for example. When it asks you if you want to recover, note that it also warns you to check the file and manually remove the swap file. It won't remove it for you. If you don't remove it, vim will detect it every time you open the file, and ask you to recover from it.
        
        

        -- 
        David Ohlemacher
        Senior Software Engineer
        Scientific Solutions Inc. 
        99 Perimeter Rd Nashua New Hampshire 03063
        603-880-3784
        
        . o .
        . . o
        o o o
        

        --
        You received this message from the "vim_use" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      • Gary Johnson
        ... It would be more correct to say that if you hit recover, the buffer will be filled from the swap file instead of the file you opened. Nothing has been
        Message 3 of 25 , Aug 1, 2011
          On 2011-08-01, David Ohlemacher wrote:
          > So once you have a swap file from a crash its there forever. That is until
          > you delete the swp manually. And if you hit recover, your newer file contents
          > will be wiped out by an older swap file's contents?

          It would be more correct to say that if you hit recover, the buffer
          will be filled from the swap file instead of the file you opened.
          Nothing has been wiped out. The contents of your file are unchanged
          from what they were before you opened the file.

          To easily see the difference between the current file contents
          (still on disk) and the recovered file content (in the Vim buffer),
          use DiffOrig. See

          :help DiffOrig

          You can now choose to replace the contents of the file on disk with
          the recovered contents from the crashed session, or conversely, you
          can choose to replace the contents of the Vim buffer with the
          contents of the file on disk. Your choice. And until you decide,
          no data has been lost.

          > I assumed (word chosen carefully), that once you've recovered from a swap file,
          > the swap would be updated to mirror the current buffer.

          The swap file in use _is_ updated to mirror the current buffer, but
          the swap file in use is not the same one you recovered from.

          For example, if you open foo and Vim crashes, there will be a
          .foo.swp file left in your current directory (assuming that you
          don't put your swap files elsewhere). If you open foo again, Vim
          will tell you that it has found a swap file, etc. Regardless of you
          choice, Vim will use a new swap file for the current buffer, named
          .foo.swo. That file will be deleted at the end of your Vim session
          if you exit normally. The swap file from your previous Vim session,
          .foo.swp, will remain. That's the one you have to delete manually.

          > I think noswapfile will checked into my env repo. When you have 30+ buffers
          > open, this is not very useful to me.

          I think that is a bad idea. Vim creates swap files to protect your
          data. They only persist after Vim has crashed, which is a good
          thing. Once you have decided to use their contents after a crash,
          or not, you can delete them and not be bothered with them until the
          next time Vim crashes.

          Regards,
          Gary

          --
          You received this message from the "vim_use" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php
        • Tony Mechelynck
          ... The Vim help mentions swp files (and swo, swn, etc.) extensively. About what happens when Vim finds a swap file for the file you re about to open, see
          Message 4 of 25 , Aug 1, 2011
            On 02/08/11 01:50, David Ohlemacher wrote:
            > So once you have a swap file from a crash its there forever. That is
            > until you delete the swp manually. And if you hit recover, your _newer_
            > file contents will be wiped out by an _older_ swap file's contents?
            >
            > I assumed (word chosen carefully), that once you've recovered from a
            > swap file, the swap would be updated to mirror the current buffer.
            >
            > I think noswapfile will checked into my env repo. When you have 30+
            > buffers open, this is not very useful to me.
            >
            > Thanks Paul. My Vim book does not mention swp files. The online help
            > says "The swap file is deleted as soon as Vim stops editing the file".
            > But there may be more than one!
            >
            > -d
            >
            > On 08/01/2011 06:04 PM, Paul wrote:
            >> The swap file stays around when vim crashes, for example. When it asks you if you want to recover, note that it also warns you to check the file and manually remove the swap file. It won't remove it for you. If you don't remove it, vim will detect it every time you open the file, and ask you to recover from it.
            >>
            >
            > --
            > David Ohlemacher
            > Senior Software Engineer
            > Scientific Solutions Inc.
            > 99 Perimeter Rd Nashua New Hampshire 03063
            > 603-880-3784
            >
            > . o .
            > . . o
            > o o o


            The Vim help mentions swp files (and swo, swn, etc.) extensively. About
            what happens when Vim finds a swap file for the file you're about to
            open, see ":help ATTENTION" and the full help section starting there,
            until the next line of equal signs.

            When a swapfile is found, and you know that it is obsolete (e.g. by
            either "Modified: NO" or "NEWER than swap file", or else because you
            just recovered the file and restarted), then IMHO the best course of
            action is to _D_elete the swapfile. (Then Vim will start afresh with a
            new swapfile for your new edit session.)

            With Vim, everything is in the help, you don't need additional
            documentation. (The help is so extensive that newbie users, and
            sometimes even not-so-newbie ones, may get a needle-and-haystack
            feeling; but there is help about that too: see ":help helphelp.txt".)


            Best regards,
            Tony.
            --
            You will lose your present job and have to become a door to door
            mayonnaise salesman.

            --
            You received this message from the "vim_use" maillist.
            Do not top-post! Type your reply below the text you are replying to.
            For more information, visit http://www.vim.org/maillist.php
          • ZyX
            Reply to message «Re: swap files reverting my work erroneously», sent 04:27:35 02 August 2011, Tuesday ... It is false: if I choose to delete swap file (in
            Message 5 of 25 , Aug 1, 2011
              Reply to message «Re: swap files reverting my work erroneously»,
              sent 04:27:35 02 August 2011, Tuesday
              by Gary Johnson:

              > will tell you that it has found a swap file, etc. Regardless of you
              > choice, Vim will use a new swap file for the current buffer, named
              > .foo.swo. That file will be deleted at the end of your Vim session
              > if you exit normally. The swap file from your previous Vim session,
              > .foo.swp, will remain. That's the one you have to delete manually.
              It is false: if I choose to delete swap file (in the vim prompt, not from shell)
              it will use .foo.swp, not .foo.swo.

              > > I think noswapfile will checked into my env repo. When you have 30+
              > > buffers open, this is not very useful to me.
              >
              > I think that is a bad idea. Vim creates swap files to protect your
              > data. They only persist after Vim has crashed, which is a good
              > thing. Once you have decided to use their contents after a crash,
              > or not, you can delete them and not be bothered with them until the
              > next time Vim crashes.
              I have swap files to prevent myself from editing one file in two vim instances
              simultaneously. Though sometimes something goes wrong and vim or the whole
              system crashes, but I never needed them to recover anything. All you need to
              have the same behavior is to train yourself to do «paused for thinking - hit
              {lhs of your mapping to :up} to save file». For me it happens even more times
              then «stopped inserting - exit insert mode».

              Original message:
              > On 2011-08-01, David Ohlemacher wrote:
              > > So once you have a swap file from a crash its there forever. That is
              > > until you delete the swp manually. And if you hit recover, your newer
              > > file contents will be wiped out by an older swap file's contents?
              >
              > It would be more correct to say that if you hit recover, the buffer
              > will be filled from the swap file instead of the file you opened.
              > Nothing has been wiped out. The contents of your file are unchanged
              > from what they were before you opened the file.
              >
              > To easily see the difference between the current file contents
              > (still on disk) and the recovered file content (in the Vim buffer),
              > use DiffOrig. See
              >
              > :help DiffOrig
              >
              > You can now choose to replace the contents of the file on disk with
              > the recovered contents from the crashed session, or conversely, you
              > can choose to replace the contents of the Vim buffer with the
              > contents of the file on disk. Your choice. And until you decide,
              > no data has been lost.
              >
              > > I assumed (word chosen carefully), that once you've recovered from a swap
              > > file, the swap would be updated to mirror the current buffer.
              >
              > The swap file in use _is_ updated to mirror the current buffer, but
              > the swap file in use is not the same one you recovered from.
              >
              > For example, if you open foo and Vim crashes, there will be a
              > .foo.swp file left in your current directory (assuming that you
              > don't put your swap files elsewhere). If you open foo again, Vim
              > will tell you that it has found a swap file, etc. Regardless of you
              > choice, Vim will use a new swap file for the current buffer, named
              > .foo.swo. That file will be deleted at the end of your Vim session
              > if you exit normally. The swap file from your previous Vim session,
              > .foo.swp, will remain. That's the one you have to delete manually.
              >
              > > I think noswapfile will checked into my env repo. When you have 30+
              > > buffers open, this is not very useful to me.
              >
              > I think that is a bad idea. Vim creates swap files to protect your
              > data. They only persist after Vim has crashed, which is a good
              > thing. Once you have decided to use their contents after a crash,
              > or not, you can delete them and not be bothered with them until the
              > next time Vim crashes.
              >
              > Regards,
              > Gary
            • Gary Johnson
              ... I stand corrected. Thanks. ... That s another good reason to use swap files. The trouble with continually saving, though, is that you lose your reference
              Message 6 of 25 , Aug 1, 2011
                On 2011-08-02, ZyX wrote:
                > Reply to message «Re: swap files reverting my work erroneously»,
                > sent 04:27:35 02 August 2011, Tuesday
                > by Gary Johnson:
                >
                > > will tell you that it has found a swap file, etc. Regardless of you
                > > choice, Vim will use a new swap file for the current buffer, named
                > > .foo.swo. That file will be deleted at the end of your Vim session
                > > if you exit normally. The swap file from your previous Vim session,
                > > .foo.swp, will remain. That's the one you have to delete manually.
                > It is false: if I choose to delete swap file (in the vim prompt, not from shell)
                > it will use .foo.swp, not .foo.swo.

                I stand corrected. Thanks.

                > > > I think noswapfile will checked into my env repo. When you have 30+
                > > > buffers open, this is not very useful to me.
                > >
                > > I think that is a bad idea. Vim creates swap files to protect your
                > > data. They only persist after Vim has crashed, which is a good
                > > thing. Once you have decided to use their contents after a crash,
                > > or not, you can delete them and not be bothered with them until the
                > > next time Vim crashes.
                > I have swap files to prevent myself from editing one file in two vim instances
                > simultaneously. Though sometimes something goes wrong and vim or the whole
                > system crashes, but I never needed them to recover anything. All you need to
                > have the same behavior is to train yourself to do «paused for thinking - hit
                > {lhs of your mapping to :up} to save file». For me it happens even more times
                > then «stopped inserting - exit insert mode».

                That's another good reason to use swap files. The trouble with
                continually saving, though, is that you lose your reference for the
                changes you've made to the file since you started editing. That's
                not always important, but sometimes it's very handy. And having
                swap files means I can do that without worry.

                Regards,
                Gary

                --
                You received this message from the "vim_use" maillist.
                Do not top-post! Type your reply below the text you are replying to.
                For more information, visit http://www.vim.org/maillist.php
              • ZyX
                Reply to message «Re: swap files reverting my work erroneously», sent 08:20:31 02 August 2011, Tuesday ... Was not this solved by persistent undo introduced
                Message 7 of 25 , Aug 1, 2011
                  Reply to message «Re: swap files reverting my work erroneously»,
                  sent 08:20:31 02 August 2011, Tuesday
                  by Gary Johnson:

                  > The trouble with
                  > continually saving, though, is that you lose your reference for the
                  > changes you've made to the file since you started editing. That's
                  > not always important, but sometimes it's very handy. And having
                  > swap files means I can do that without worry.
                  Was not this solved by persistent undo introduced in vim-7.3?

                  Original message:
                  > On 2011-08-02, ZyX wrote:
                  > > Reply to message «Re: swap files reverting my work erroneously»,
                  > > sent 04:27:35 02 August 2011, Tuesday
                  > >
                  > > by Gary Johnson:
                  > > > will tell you that it has found a swap file, etc. Regardless of you
                  > > > choice, Vim will use a new swap file for the current buffer, named
                  > > > .foo.swo. That file will be deleted at the end of your Vim session
                  > > > if you exit normally. The swap file from your previous Vim session,
                  > > > .foo.swp, will remain. That's the one you have to delete manually.
                  > >
                  > > It is false: if I choose to delete swap file (in the vim prompt, not from
                  > > shell) it will use .foo.swp, not .foo.swo.
                  >
                  > I stand corrected. Thanks.
                  >
                  > > > > I think noswapfile will checked into my env repo. When you have 30+
                  > > > > buffers open, this is not very useful to me.
                  > > >
                  > > > I think that is a bad idea. Vim creates swap files to protect your
                  > > > data. They only persist after Vim has crashed, which is a good
                  > > > thing. Once you have decided to use their contents after a crash,
                  > > > or not, you can delete them and not be bothered with them until the
                  > > > next time Vim crashes.
                  > >
                  > > I have swap files to prevent myself from editing one file in two vim
                  > > instances simultaneously. Though sometimes something goes wrong and vim
                  > > or the whole system crashes, but I never needed them to recover
                  > > anything. All you need to have the same behavior is to train yourself to
                  > > do «paused for thinking - hit {lhs of your mapping to :up} to save
                  > > file». For me it happens even more times then «stopped inserting - exit
                  > > insert mode».
                  >
                  > That's another good reason to use swap files. The trouble with
                  > continually saving, though, is that you lose your reference for the
                  > changes you've made to the file since you started editing. That's
                  > not always important, but sometimes it's very handy. And having
                  > swap files means I can do that without worry.
                  >
                  > Regards,
                  > Gary
                • Tony Mechelynck
                  ... If you need a snapshot of a certain state of the disk file, take a copy. If you need successive snapshots, use numbered or dated backups, Vim supports
                  Message 8 of 25 , Aug 1, 2011
                    On 02/08/11 06:38, ZyX wrote:
                    > Reply to message «Re: swap files reverting my work erroneously»,
                    > sent 08:20:31 02 August 2011, Tuesday
                    > by Gary Johnson:
                    >
                    >> The trouble with
                    >> continually saving, though, is that you lose your reference for the
                    >> changes you've made to the file since you started editing. That's
                    >> not always important, but sometimes it's very handy. And having
                    >> swap files means I can do that without worry.
                    > Was not this solved by persistent undo introduced in vim-7.3?
                    >
                    > Original message:
                    >> On 2011-08-02, ZyX wrote:
                    >>> Reply to message «Re: swap files reverting my work erroneously»,
                    >>> sent 04:27:35 02 August 2011, Tuesday
                    >>>
                    >>> by Gary Johnson:
                    >>>> will tell you that it has found a swap file, etc. Regardless of you
                    >>>> choice, Vim will use a new swap file for the current buffer, named
                    >>>> .foo.swo. That file will be deleted at the end of your Vim session
                    >>>> if you exit normally. The swap file from your previous Vim session,
                    >>>> .foo.swp, will remain. That's the one you have to delete manually.
                    >>>
                    >>> It is false: if I choose to delete swap file (in the vim prompt, not from
                    >>> shell) it will use .foo.swp, not .foo.swo.
                    >>
                    >> I stand corrected. Thanks.
                    >>
                    >>>>> I think noswapfile will checked into my env repo. When you have 30+
                    >>>>> buffers open, this is not very useful to me.
                    >>>>
                    >>>> I think that is a bad idea. Vim creates swap files to protect your
                    >>>> data. They only persist after Vim has crashed, which is a good
                    >>>> thing. Once you have decided to use their contents after a crash,
                    >>>> or not, you can delete them and not be bothered with them until the
                    >>>> next time Vim crashes.
                    >>>
                    >>> I have swap files to prevent myself from editing one file in two vim
                    >>> instances simultaneously. Though sometimes something goes wrong and vim
                    >>> or the whole system crashes, but I never needed them to recover
                    >>> anything. All you need to have the same behavior is to train yourself to
                    >>> do «paused for thinking - hit {lhs of your mapping to :up} to save
                    >>> file». For me it happens even more times then «stopped inserting - exit
                    >>> insert mode».
                    >>
                    >> That's another good reason to use swap files. The trouble with
                    >> continually saving, though, is that you lose your reference for the
                    >> changes you've made to the file since you started editing. That's
                    >> not always important, but sometimes it's very handy. And having
                    >> swap files means I can do that without worry.
                    >>
                    >> Regards,
                    >> Gary

                    If you need a snapshot of a certain state of the disk file, take a copy.
                    If you need successive snapshots, use numbered or dated backups, Vim
                    supports them, after a fashion: see ":help backupext".

                    I'm sure I'm not the only one on these lists who started editing at a
                    time (and with an editor) where such luxuries as automatically recorded
                    swapfiles simply didn't exist: for us old-timers, it has become a reflex
                    to save the files whenever we stop editing (even if it's just to take a
                    leak), and at least once every quarter-hour.

                    I have the following mappings for that:

                    :map <F3> :wa|wv<CR>
                    :imap <F3> <C-O>:wa|wv<CR>

                    Of course, it complains if I have text in an unnamed buffer, but those
                    are usually throwaways anyway.

                    This way, even in case of a crash or of an AC cutoff, at most one or
                    two, usually none of the 32 files which I have in various windows and
                    tab pages in gvim, needs any rebuilding: everything was already saved,
                    and when gvim comes back up, I can answer Delete to all (or almost all)
                    of the swapfiles that it finds on restart.


                    Best regards,
                    Tony.
                    --
                    "You are old," said the youth, "as I mentioned before,
                    And make errors few people could bear;
                    You complain about everyone's English but yours --
                    Do you really think this is quite fair?"

                    "I make lots of mistakes," Father William declared,
                    "But my stature these days is so great
                    That no critic can hurt me -- I've got them all scared,
                    And to stop me it's now far too late."

                    --
                    You received this message from the "vim_use" maillist.
                    Do not top-post! Type your reply below the text you are replying to.
                    For more information, visit http://www.vim.org/maillist.php
                  • Christian Brabandt
                    Hi Gary! ... I have been thinking lately if it would be a good idea, if Vim would only create a swap file, when it detects, that a change to the buffer has
                    Message 9 of 25 , Aug 1, 2011
                      Hi Gary!

                      On Mo, 01 Aug 2011, Gary Johnson wrote:

                      > don't put your swap files elsewhere). If you open foo again, Vim
                      > will tell you that it has found a swap file, etc. Regardless of you
                      > choice, Vim will use a new swap file for the current buffer, named
                      > .foo.swo. That file will be deleted at the end of your Vim session
                      > if you exit normally. The swap file from your previous Vim session,
                      > .foo.swp, will remain. That's the one you have to delete manually.

                      I have been thinking lately if it would be a good idea, if Vim would
                      only create a swap file, when it detects, that a change to the buffer
                      has been made. But not just when viewing a file.

                      That is usually what happens a lot to me. I have 1 file open and in
                      another Vim instance I open the same file again only for viewing, so I
                      would like to avoid the "Attention" prompt.

                      On the other hand I can see, that it is certainly useful, if you start
                      editing a file and immediately Vim warns you, that another Vim instance
                      is already editing that file. Hm, may be a new option swaponchange or
                      something?

                      regards,
                      Christian

                      --
                      You received this message from the "vim_use" maillist.
                      Do not top-post! Type your reply below the text you are replying to.
                      For more information, visit http://www.vim.org/maillist.php
                    • Christian Brabandt
                      Hi ZyX! ... Yes if enabled. regards, Christian -- Ein Mensch in einer fremden Stadt fragt: Wissen Sie, wo es zum Bahnhof geht? Manager: Fragen Sie nicht
                      Message 10 of 25 , Aug 1, 2011
                        Hi ZyX!

                        On Di, 02 Aug 2011, ZyX wrote:

                        > by Gary Johnson:
                        > > The trouble with
                        > > continually saving, though, is that you lose your reference for the
                        > > changes you've made to the file since you started editing. That's
                        > > not always important, but sometimes it's very handy. And having
                        > > swap files means I can do that without worry.
                        > Was not this solved by persistent undo introduced in vim-7.3?

                        Yes if enabled.

                        regards,
                        Christian
                        --
                        Ein Mensch in einer fremden Stadt fragt:
                        "Wissen Sie, wo es zum Bahnhof geht?"
                        Manager: "Fragen Sie nicht lange. Gehen Sie einfach los."

                        --
                        You received this message from the "vim_use" maillist.
                        Do not top-post! Type your reply below the text you are replying to.
                        For more information, visit http://www.vim.org/maillist.php
                      • George Dinwiddie
                        ... I d just like to note that if you open the file in read-only mode (e.g., with view ), then no swap file is created. - George -- ... * George
                        Message 11 of 25 , Aug 2, 2011
                          On 8/2/11 1:44 AM, Christian Brabandt wrote:
                          > I have been thinking lately if it would be a good idea, if Vim would
                          > only create a swap file, when it detects, that a change to the buffer
                          > has been made. But not just when viewing a file.
                          >
                          > That is usually what happens a lot to me. I have 1 file open and in
                          > another Vim instance I open the same file again only for viewing, so I
                          > would like to avoid the "Attention" prompt.
                          >
                          > On the other hand I can see, that it is certainly useful, if you start
                          > editing a file and immediately Vim warns you, that another Vim instance
                          > is already editing that file. Hm, may be a new option swaponchange or
                          > something?

                          I'd just like to note that if you open the file in read-only mode (e.g.,
                          with 'view <filename>'), then no swap file is created.

                          - George

                          --
                          ----------------------------------------------------------------------
                          * George Dinwiddie * http://blog.gdinwiddie.com
                          Software Development http://www.idiacomputing.com
                          Consultant and Coach http://www.agilemaryland.org
                          ----------------------------------------------------------------------

                          --
                          You received this message from the "vim_use" maillist.
                          Do not top-post! Type your reply below the text you are replying to.
                          For more information, visit http://www.vim.org/maillist.php
                        • Tony Mechelynck
                          ... IIUC, opening a file read-only (e.g. with :view rather than :edit) does not create a corresponding swapfile. If you open a file with :edit (or :split or
                          Message 12 of 25 , Aug 2, 2011
                            On 02/08/11 07:44, Christian Brabandt wrote:
                            > Hi Gary!
                            >
                            > On Mo, 01 Aug 2011, Gary Johnson wrote:
                            >
                            >> don't put your swap files elsewhere). If you open foo again, Vim
                            >> will tell you that it has found a swap file, etc. Regardless of you
                            >> choice, Vim will use a new swap file for the current buffer, named
                            >> .foo.swo. That file will be deleted at the end of your Vim session
                            >> if you exit normally. The swap file from your previous Vim session,
                            >> .foo.swp, will remain. That's the one you have to delete manually.
                            >
                            > I have been thinking lately if it would be a good idea, if Vim would
                            > only create a swap file, when it detects, that a change to the buffer
                            > has been made. But not just when viewing a file.
                            >
                            > That is usually what happens a lot to me. I have 1 file open and in
                            > another Vim instance I open the same file again only for viewing, so I
                            > would like to avoid the "Attention" prompt.
                            >
                            > On the other hand I can see, that it is certainly useful, if you start
                            > editing a file and immediately Vim warns you, that another Vim instance
                            > is already editing that file. Hm, may be a new option swaponchange or
                            > something?
                            >
                            > regards,
                            > Christian
                            >

                            IIUC, opening a file read-only (e.g. with :view rather than :edit) does
                            not create a corresponding swapfile.

                            If you open a file with :edit (or :split or :new etc.) (and that file
                            doesn't happen to have 'readonly' or 'nomodifiable' set for other
                            reasons), Vim has no way to know that you just want to look at the file,
                            not change it. When you know from the beginning that you won't make
                            changes in the file, always use :view (or :sview etc.) so Vim will set
                            'readonly' on that file (and, IIUC, not create a swapfile for it until
                            or unless you actually make a change).


                            Best regards,
                            Tony.
                            --
                            A disciple of another sect once came to Drescher as he was
                            eating his morning meal. "I would like to give you this personality
                            test", said the outsider, "because I want you to be happy."
                            Drescher took the paper that was offered him and put it into
                            the toaster -- "I wish the toaster to be happy too".

                            --
                            You received this message from the "vim_use" maillist.
                            Do not top-post! Type your reply below the text you are replying to.
                            For more information, visit http://www.vim.org/maillist.php
                          • Gary Johnson
                            ... No. I don t want to undo my changes, I want to see my changes. Regards, Gary -- You received this message from the vim_use maillist. Do not top-post!
                            Message 13 of 25 , Aug 2, 2011
                              On 2011-08-02, ZyX wrote:
                              > Reply to message «Re: swap files reverting my work erroneously»,
                              > sent 08:20:31 02 August 2011, Tuesday
                              > by Gary Johnson:
                              >
                              > > The trouble with
                              > > continually saving, though, is that you lose your reference for the
                              > > changes you've made to the file since you started editing. That's
                              > > not always important, but sometimes it's very handy. And having
                              > > swap files means I can do that without worry.
                              > Was not this solved by persistent undo introduced in vim-7.3?

                              No. I don't want to undo my changes, I want to see my changes.

                              Regards,
                              Gary

                              --
                              You received this message from the "vim_use" maillist.
                              Do not top-post! Type your reply below the text you are replying to.
                              For more information, visit http://www.vim.org/maillist.php
                            • Reid Thompson
                              ... see histwin + gundo + persistent undo -- viewable permanent record of change tree -- You received this message from the vim_use maillist. Do not
                              Message 14 of 25 , Aug 2, 2011
                                On Tue, 2011-08-02 at 07:45 -0700, Gary Johnson wrote:
                                On 2011-08-02, ZyX wrote:
                                > Reply to message «Re: swap files reverting my work erroneously», 
                                > sent 08:20:31 02 August 2011, Tuesday
                                > by Gary Johnson:
                                > 
                                > > The trouble with
                                > > continually saving, though, is that you lose your reference for the
                                > > changes you've made to the file since you started editing.  That's
                                > > not always important, but sometimes it's very handy.  And having
                                > > swap files means I can do that without worry.
                                > Was not this solved by persistent undo introduced in vim-7.3?
                                
                                No.  I don't want to undo my changes, I want to see my changes.
                                
                                Regards,
                                Gary
                                
                                

                                see histwin + gundo + persistent undo --> viewable permanent record of change tree

                                --
                                You received this message from the "vim_use" maillist.
                                Do not top-post! Type your reply below the text you are replying to.
                                For more information, visit http://www.vim.org/maillist.php
                              • Christian Brabandt
                                ... I am sure there are plugins, that allow to do that. I have written changesPlugin http://www.vim.org/scripts/script.php?script_id=3052 that tries to
                                Message 15 of 25 , Aug 2, 2011
                                  On Tue, August 2, 2011 4:45 pm, Gary Johnson wrote:
                                  > On 2011-08-02, ZyX wrote:
                                  >> Reply to message «Re: swap files reverting my work erroneously»,
                                  >> sent 08:20:31 02 August 2011, Tuesday
                                  >> by Gary Johnson:
                                  >>
                                  >> > The trouble with
                                  >> > continually saving, though, is that you lose your reference for the
                                  >> > changes you've made to the file since you started editing. That's
                                  >> > not always important, but sometimes it's very handy. And having
                                  >> > swap files means I can do that without worry.
                                  >> Was not this solved by persistent undo introduced in vim-7.3?
                                  >
                                  > No. I don't want to undo my changes, I want to see my changes.

                                  I am sure there are plugins, that allow to do that. I have written
                                  changesPlugin http://www.vim.org/scripts/script.php?script_id=3052
                                  that tries to accomplish that (either against SCM or the saved version).


                                  regards,
                                  Christian

                                  --
                                  You received this message from the "vim_use" maillist.
                                  Do not top-post! Type your reply below the text you are replying to.
                                  For more information, visit http://www.vim.org/maillist.php
                                • Christian Brabandt
                                  ... Yeah, if just my fingers would remember ;) regards, Christian -- You received this message from the vim_use maillist. Do not top-post! Type your reply
                                  Message 16 of 25 , Aug 2, 2011
                                    On Tue, August 2, 2011 3:27 pm, George Dinwiddie wrote:
                                    > On 8/2/11 1:44 AM, Christian Brabandt wrote:
                                    >> I have been thinking lately if it would be a good idea, if Vim would
                                    >> only create a swap file, when it detects, that a change to the buffer
                                    >> has been made. But not just when viewing a file.
                                    >>
                                    >> That is usually what happens a lot to me. I have 1 file open and in
                                    >> another Vim instance I open the same file again only for viewing, so I
                                    >> would like to avoid the "Attention" prompt.
                                    >>
                                    >> On the other hand I can see, that it is certainly useful, if you start
                                    >> editing a file and immediately Vim warns you, that another Vim instance
                                    >> is already editing that file. Hm, may be a new option swaponchange or
                                    >> something?
                                    >
                                    > I'd just like to note that if you open the file in read-only mode (e.g.,
                                    > with 'view <filename>'), then no swap file is created.

                                    Yeah, if just my fingers would remember ;)

                                    regards,
                                    Christian

                                    --
                                    You received this message from the "vim_use" maillist.
                                    Do not top-post! Type your reply below the text you are replying to.
                                    For more information, visit http://www.vim.org/maillist.php
                                  • Gary Johnson
                                    ... Yes, I _can_ do that, and I do that on occasion, but I don t _have_ to do that to have a reliable copy of the original state of the file and of my changes.
                                    Message 17 of 25 , Aug 2, 2011
                                      On 2011-08-02, Tony Mechelynck wrote:
                                      > On 2011-08-02, Gary Johnson wrote:
                                      >> On 02/08/11 06:38, ZyX wrote:

                                      > >>>I have swap files to prevent myself from editing one file in two vim
                                      > >>>instances simultaneously. Though sometimes something goes wrong and vim
                                      > >>>or the whole system crashes, but I never needed them to recover
                                      > >>>anything. All you need to have the same behavior is to train yourself to
                                      > >>>do «paused for thinking - hit {lhs of your mapping to :up} to save
                                      > >>>file». For me it happens even more times then «stopped inserting - exit
                                      > >>>insert mode».
                                      > >>
                                      > >>That's another good reason to use swap files. The trouble with
                                      > >>continually saving, though, is that you lose your reference for the
                                      > >>changes you've made to the file since you started editing. That's
                                      > >>not always important, but sometimes it's very handy. And having
                                      > >>swap files means I can do that without worry.
                                      > >>
                                      > >>Regards,
                                      > >>Gary
                                      >
                                      > If you need a snapshot of a certain state of the disk file, take a copy.
                                      > If you need successive snapshots, use numbered or dated backups, Vim
                                      > supports them, after a fashion: see ":help backupext".

                                      Yes, I _can_ do that, and I do that on occasion, but I don't
                                      _have_ to do that to have a reliable copy of the original state of
                                      the file and of my changes. Not doing that, I don't have to deal
                                      with the clutter of backup copies that need to be deleted at some
                                      point. For long-term backup and history retention, I use a VCS.

                                      > I'm sure I'm not the only one on these lists who started editing at a
                                      > time (and with an editor) where such luxuries as automatically recorded
                                      > swapfiles simply didn't exist: for us old-timers, it has become a reflex
                                      > to save the files whenever we stop editing (even if it's just to take a
                                      > leak), and at least once every quarter-hour.

                                      I started using Unix and vi in 1985 in an environment where people
                                      would inadvertently unplug serial cables or coaxial LAN cables, and
                                      where occasional lightning strikes and careless backhoe operators
                                      would take out our power. I got in the habit of saving my work
                                      regularly.

                                      But now we have more reliable systems, and UPSs, and Vim with
                                      automatic backups. My habits have changed. Now I save a file when
                                      I'm done with a set of changes to it, not reflexively.

                                      Regards,
                                      Gary

                                      --
                                      You received this message from the "vim_use" maillist.
                                      Do not top-post! Type your reply below the text you are replying to.
                                      For more information, visit http://www.vim.org/maillist.php
                                    • George Dinwiddie
                                      ... Yeah, I understand that. :) At least the Attention prompt gives an option for opening read-only. - George -- ... * George Dinwiddie *
                                      Message 18 of 25 , Aug 2, 2011
                                        On 8/2/11 10:54 AM, Christian Brabandt wrote:
                                        > On Tue, August 2, 2011 3:27 pm, George Dinwiddie wrote:
                                        >> On 8/2/11 1:44 AM, Christian Brabandt wrote:
                                        >>> I have been thinking lately if it would be a good idea, if Vim would
                                        >>> only create a swap file, when it detects, that a change to the buffer
                                        >>> has been made. But not just when viewing a file.
                                        >>>
                                        >>> That is usually what happens a lot to me. I have 1 file open and in
                                        >>> another Vim instance I open the same file again only for viewing, so I
                                        >>> would like to avoid the "Attention" prompt.
                                        >>>
                                        >>> On the other hand I can see, that it is certainly useful, if you start
                                        >>> editing a file and immediately Vim warns you, that another Vim instance
                                        >>> is already editing that file. Hm, may be a new option swaponchange or
                                        >>> something?
                                        >>
                                        >> I'd just like to note that if you open the file in read-only mode (e.g.,
                                        >> with 'view<filename>'), then no swap file is created.
                                        >
                                        > Yeah, if just my fingers would remember ;)

                                        Yeah, I understand that. :) At least the "Attention" prompt gives an
                                        option for opening read-only.

                                        - George

                                        --
                                        ----------------------------------------------------------------------
                                        * George Dinwiddie * http://blog.gdinwiddie.com
                                        Software Development http://www.idiacomputing.com
                                        Consultant and Coach http://www.agilemaryland.org
                                        ----------------------------------------------------------------------

                                        --
                                        You received this message from the "vim_use" maillist.
                                        Do not top-post! Type your reply below the text you are replying to.
                                        For more information, visit http://www.vim.org/maillist.php
                                      • Gary Johnson
                                        ... I have several plugins that do that for various SCMs and I have DiffOrig in my ~/.vimrc. I wasn t saying that I was in need of a way to see my changes,
                                        Message 19 of 25 , Aug 2, 2011
                                          On 2011-08-02, Christian Brabandt wrote:
                                          > On Tue, August 2, 2011 4:45 pm, Gary Johnson wrote:
                                          > > On 2011-08-02, ZyX wrote:
                                          > >> Reply to message «Re: swap files reverting my work erroneously»,
                                          > >> sent 08:20:31 02 August 2011, Tuesday
                                          > >> by Gary Johnson:
                                          > >>
                                          > >> > The trouble with
                                          > >> > continually saving, though, is that you lose your reference for the
                                          > >> > changes you've made to the file since you started editing. That's
                                          > >> > not always important, but sometimes it's very handy. And having
                                          > >> > swap files means I can do that without worry.
                                          > >> Was not this solved by persistent undo introduced in vim-7.3?
                                          > >
                                          > > No. I don't want to undo my changes, I want to see my changes.
                                          >
                                          > I am sure there are plugins, that allow to do that. I have written
                                          > changesPlugin http://www.vim.org/scripts/script.php?script_id=3052
                                          > that tries to accomplish that (either against SCM or the saved version).

                                          I have several plugins that do that for various SCMs and I have
                                          DiffOrig in my ~/.vimrc. I wasn't saying that I was in need of a
                                          way to see my changes, only that persistent undo is not a good
                                          solution for the problem under discussion.

                                          As I understand it, your plugin displays the same information as
                                          DiffOrig but in a less intrusive format. Its reference is still the
                                          file on disk.

                                          Regards,
                                          Gary

                                          --
                                          You received this message from the "vim_use" maillist.
                                          Do not top-post! Type your reply below the text you are replying to.
                                          For more information, visit http://www.vim.org/maillist.php
                                        • Christian Brabandt
                                          ... Ok ... Yes, but it can also take a file from a VCS as reference. regards, Christian -- You received this message from the vim_use maillist. Do not
                                          Message 20 of 25 , Aug 2, 2011
                                            On Tue, August 2, 2011 5:24 pm, Gary Johnson wrote:
                                            > I have several plugins that do that for various SCMs and I have
                                            > DiffOrig in my ~/.vimrc. I wasn't saying that I was in need of a
                                            > way to see my changes, only that persistent undo is not a good
                                            > solution for the problem under discussion.

                                            Ok

                                            > As I understand it, your plugin displays the same information as
                                            > DiffOrig but in a less intrusive format. Its reference is still the
                                            > file on disk.

                                            Yes, but it can also take a file from a VCS as reference.

                                            regards,
                                            Christian

                                            --
                                            You received this message from the "vim_use" maillist.
                                            Do not top-post! Type your reply below the text you are replying to.
                                            For more information, visit http://www.vim.org/maillist.php
                                          • ZyX
                                            Reply to message «Re: swap files reverting my work erroneously», sent 19:05:34 02 August 2011, Tuesday ... I started using vim and linux only a few years ago
                                            Message 21 of 25 , Aug 2, 2011
                                              Reply to message «Re: swap files reverting my work erroneously»,
                                              sent 19:05:34 02 August 2011, Tuesday
                                              by Gary Johnson:

                                              > I started using Unix and vi in 1985 in an environment where people
                                              > would inadvertently unplug serial cables or coaxial LAN cables, and
                                              > where occasional lightning strikes and careless backhoe operators
                                              > would take out our power. I got in the habit of saving my work
                                              > regularly.
                                              >
                                              > But now we have more reliable systems, and UPSs, and Vim with
                                              > automatic backups. My habits have changed. Now I save a file when
                                              > I'm done with a set of changes to it, not reflexively.
                                              I started using vim and linux only a few years ago and did not do any serious
                                              work before that needed reflexive savings. The reason why I do them is that I
                                              decided that it is a good habit because
                                              1. if it is a habit you don't need to think and thus loose exactly no time to do
                                              a save (I already paused typing; I don't do it just because I typed too much);
                                              2. software contains bugs. I observed unreproducible X crashes several times and
                                              thus I need to know that I won't loose my work if something like this happens. I
                                              have an UPS but it won't help here. You can say that systems are more reliable
                                              this time, but I never did real work on less reliable systems, so for me these
                                              few crashes are already too much. The only thing that will make me think that
                                              some system is reliable is a mathematically correct proof of this. You can't
                                              write it for C code and for this very bold GNU C Compiler, can you?

                                              Original message:
                                              > On 2011-08-02, Tony Mechelynck wrote:
                                              > > On 2011-08-02, Gary Johnson wrote:
                                              > >> On 02/08/11 06:38, ZyX wrote:
                                              > > >>>I have swap files to prevent myself from editing one file in two vim
                                              > > >>>instances simultaneously. Though sometimes something goes wrong and
                                              > > >>>vim or the whole system crashes, but I never needed them to recover
                                              > > >>>anything. All you need to have the same behavior is to train yourself
                                              > > >>>to do «paused for thinking - hit {lhs of your mapping to :up} to save
                                              > > >>>file». For me it happens even more times then «stopped inserting -
                                              > > >>>exit insert mode».
                                              > > >>
                                              > > >>That's another good reason to use swap files. The trouble with
                                              > > >>continually saving, though, is that you lose your reference for the
                                              > > >>changes you've made to the file since you started editing. That's
                                              > > >>not always important, but sometimes it's very handy. And having
                                              > > >>swap files means I can do that without worry.
                                              > > >>
                                              > > >>Regards,
                                              > > >>Gary
                                              > >
                                              > > If you need a snapshot of a certain state of the disk file, take a copy.
                                              > > If you need successive snapshots, use numbered or dated backups, Vim
                                              > > supports them, after a fashion: see ":help backupext".
                                              >
                                              > Yes, I _can_ do that, and I do that on occasion, but I don't
                                              > _have_ to do that to have a reliable copy of the original state of
                                              > the file and of my changes. Not doing that, I don't have to deal
                                              > with the clutter of backup copies that need to be deleted at some
                                              > point. For long-term backup and history retention, I use a VCS.
                                              >
                                              > > I'm sure I'm not the only one on these lists who started editing at a
                                              > > time (and with an editor) where such luxuries as automatically recorded
                                              > > swapfiles simply didn't exist: for us old-timers, it has become a reflex
                                              > > to save the files whenever we stop editing (even if it's just to take a
                                              > > leak), and at least once every quarter-hour.
                                              >
                                              > I started using Unix and vi in 1985 in an environment where people
                                              > would inadvertently unplug serial cables or coaxial LAN cables, and
                                              > where occasional lightning strikes and careless backhoe operators
                                              > would take out our power. I got in the habit of saving my work
                                              > regularly.
                                              >
                                              > But now we have more reliable systems, and UPSs, and Vim with
                                              > automatic backups. My habits have changed. Now I save a file when
                                              > I'm done with a set of changes to it, not reflexively.
                                              >
                                              > Regards,
                                              > Gary
                                            • Gary Johnson
                                              ... I often encountered that problem in situations where I didn t have control over how Vim opened a file, so training my fingers wouldn t have helped. I
                                              Message 22 of 25 , Aug 2, 2011
                                                On 2011-08-02, Christian Brabandt wrote:
                                                > On Tue, August 2, 2011 3:27 pm, George Dinwiddie wrote:
                                                > > On 8/2/11 1:44 AM, Christian Brabandt wrote:
                                                > >> I have been thinking lately if it would be a good idea, if Vim would
                                                > >> only create a swap file, when it detects, that a change to the buffer
                                                > >> has been made. But not just when viewing a file.
                                                > >>
                                                > >> That is usually what happens a lot to me. I have 1 file open and in
                                                > >> another Vim instance I open the same file again only for viewing, so I
                                                > >> would like to avoid the "Attention" prompt.
                                                > >>
                                                > >> On the other hand I can see, that it is certainly useful, if you start
                                                > >> editing a file and immediately Vim warns you, that another Vim instance
                                                > >> is already editing that file. Hm, may be a new option swaponchange or
                                                > >> something?
                                                > >
                                                > > I'd just like to note that if you open the file in read-only mode (e.g.,
                                                > > with 'view <filename>'), then no swap file is created.
                                                >
                                                > Yeah, if just my fingers would remember ;)

                                                I often encountered that problem in situations where I didn't have
                                                control over how Vim opened a file, so training my fingers wouldn't
                                                have helped. I often have several Vim instances open containing
                                                files I'm editing, so they have swap files. Then in one of those
                                                instances I'll use a tags command or a cscope command to find where
                                                a symbol is defined or used. If the symbol is in one of the files
                                                already open in a different Vim instance, I would get the swap file
                                                found error.

                                                I fixed that problem with the following SwapExists autocommand:

                                                if exists("##SwapExists")
                                                autocmd SwapExists * if v:swapcommand =~ '^:ta\%[g] \|^\d\+G$' | let v:swapchoice='o' | endif
                                                endif

                                                If the swap file exists and if the reason for opening the file is a
                                                tags or cscope command, the file is opened read-only.

                                                Regards,
                                                Gary

                                                --
                                                You received this message from the "vim_use" maillist.
                                                Do not top-post! Type your reply below the text you are replying to.
                                                For more information, visit http://www.vim.org/maillist.php
                                              • Christian Brabandt
                                                ... Really nice. I ll add that to my config. regards, Christian -- You received this message from the vim_use maillist. Do not top-post! Type your reply
                                                Message 23 of 25 , Aug 2, 2011
                                                  On Tue, August 2, 2011 5:39 pm, Gary Johnson wrote:
                                                  > I often encountered that problem in situations where I didn't have
                                                  > control over how Vim opened a file, so training my fingers wouldn't
                                                  > have helped. I often have several Vim instances open containing
                                                  > files I'm editing, so they have swap files. Then in one of those
                                                  > instances I'll use a tags command or a cscope command to find where
                                                  > a symbol is defined or used. If the symbol is in one of the files
                                                  > already open in a different Vim instance, I would get the swap file
                                                  > found error.
                                                  >
                                                  > I fixed that problem with the following SwapExists autocommand:
                                                  >
                                                  > if exists("##SwapExists")
                                                  > autocmd SwapExists * if v:swapcommand =~ '^:ta\%[g] \|^\d\+G$' |
                                                  > let v:swapchoice='o' | endif
                                                  > endif
                                                  >
                                                  > If the swap file exists and if the reason for opening the file is a
                                                  > tags or cscope command, the file is opened read-only.

                                                  Really nice. I'll add that to my config.

                                                  regards,
                                                  Christian

                                                  --
                                                  You received this message from the "vim_use" maillist.
                                                  Do not top-post! Type your reply below the text you are replying to.
                                                  For more information, visit http://www.vim.org/maillist.php
                                                • Joan Miquel Torres Rigo
                                                  ... If this happen and the swapfile results to be obsolete, then you could easily loose the (updated) contets of the file (if you accidentally save it). Also,
                                                  Message 24 of 25 , Aug 3, 2011
                                                    2011/8/2 David Ohlemacher <dohlemacher@...>:
                                                    > So once you have a swap file from a crash its there forever.   That is until
                                                    > you delete the swp manually.   And if you hit recover, your newer file
                                                    > contents will be wiped out by an older swap file's contents?
                                                    >
                                                    > I assumed (word chosen carefully), that once you've recovered from a swap
                                                    > file, the swap would be updated to mirror the current buffer.

                                                    If this happen and the swapfile results to be obsolete, then you could
                                                    easily loose the (updated) contets of the file (if you accidentally
                                                    save it).

                                                    Also, this obsolete swapfile may contains interesting changes not in
                                                    the last version in disk and you could be interested in examine (and
                                                    optionally merge) them.


                                                    To handle this situations I use two mappings:

                                                    command! Diff :w<space>!diff<space>-<space>%|less

                                                    ...which lets me to examine the differences between the two files and
                                                    decide if I want to use the swapfile version (:w), the disk version
                                                    (:e %) or manually merge them starting from one or other.

                                                    (I didn't know about DiffOrig mentioned by Gary below --but sure I
                                                    will try it--)


                                                    When resolved the conflict, I have this other mapping to drop the
                                                    swapfile(s) easily and avoid future doubts.

                                                    command! Recovered
                                                    :!<space>rm<space>$(echo<space>%<space>|perl<space>-pe<space>'s/^(.*\/)?\.?(.*)$/\1.\2.swp\*/')

                                                    ...this doesn't consider if there is more than one swapfiles and, off
                                                    course, sure can be fully implemented without external commands. But
                                                    it works for me ;-)


                                                    Regards.

                                                    --
                                                    Joan Miquel Torres__________________________________
                                                    Linux Registered User #164872
                                                    http://www.mallorcaweb.net/joanmiquel
                                                    BULMA: http://bulma.net http://breu.bulma.net/?l2301

                                                    --
                                                    You received this message from the "vim_use" maillist.
                                                    Do not top-post! Type your reply below the text you are replying to.
                                                    For more information, visit http://www.vim.org/maillist.php
                                                  Your message has been successfully submitted and would be delivered to recipients shortly.