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

Re: swap files reverting my work erroneously

Expand Messages
  • 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 1 of 25 , Aug 1, 2011
    • 0 Attachment
      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 2 of 25 , Aug 1, 2011
      • 0 Attachment
        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 3 of 25 , Aug 1, 2011
        • 0 Attachment
          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 4 of 25 , Aug 1, 2011
          • 0 Attachment
            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 5 of 25 , Aug 1, 2011
            • 0 Attachment
              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 6 of 25 , Aug 1, 2011
              • 0 Attachment
                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 7 of 25 , Aug 1, 2011
                • 0 Attachment
                  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 8 of 25 , Aug 2, 2011
                  • 0 Attachment
                    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 9 of 25 , Aug 2, 2011
                    • 0 Attachment
                      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 10 of 25 , Aug 2, 2011
                      • 0 Attachment
                        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 11 of 25 , Aug 2, 2011
                        • 0 Attachment
                          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 12 of 25 , Aug 2, 2011
                          • 0 Attachment
                            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 13 of 25 , Aug 2, 2011
                            • 0 Attachment
                              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 14 of 25 , Aug 2, 2011
                              • 0 Attachment
                                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 15 of 25 , Aug 2, 2011
                                • 0 Attachment
                                  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 16 of 25 , Aug 2, 2011
                                  • 0 Attachment
                                    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 17 of 25 , Aug 2, 2011
                                    • 0 Attachment
                                      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 18 of 25 , Aug 2, 2011
                                      • 0 Attachment
                                        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 19 of 25 , Aug 2, 2011
                                        • 0 Attachment
                                          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 20 of 25 , Aug 2, 2011
                                          • 0 Attachment
                                            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 21 of 25 , Aug 3, 2011
                                            • 0 Attachment
                                              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.