261 lines
10 KiB
Plaintext
261 lines
10 KiB
Plaintext
|
*recover.vim* Show differences for recovered files
|
||
|
|
||
|
Author: Christian Brabandt <cb@256bit.org>
|
||
|
Version: 0.18 Wed, 14 Aug 2013 22:39:13 +0200
|
||
|
Copyright: (c) 2009, 2010, 2011, 2012, 2013 by Christian Brabandt
|
||
|
The VIM LICENSE applies to recoverPlugin.vim and recoverPlugin.txt
|
||
|
(see |copyright|) except use recoverPlugin instead of "Vim".
|
||
|
NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
1. Contents *RecoverPlugin*
|
||
|
|
||
|
1. Contents.....................................: |recoverPlugin|
|
||
|
2. recover Manual...............................: |recover-manual|
|
||
|
3. recover Feedback.............................: |recover-feedback|
|
||
|
4. recover History..............................: |recover-history|
|
||
|
|
||
|
==============================================================================
|
||
|
*RecoverPlugin-manual*
|
||
|
2. RecoverPlugin Manual *recover-manual*
|
||
|
|
||
|
Functionality
|
||
|
|
||
|
When using |recovery|, it is hard to tell, what has been changed between the
|
||
|
recovered file and the actual on disk version. The aim of this plugin is, to
|
||
|
have an easy way to see differences, between the recovered files and the files
|
||
|
stored on disk.
|
||
|
|
||
|
Therefore this plugin sets up an auto command, that will create a diff buffer
|
||
|
between the recovered file and the on-disk version of the same file. You can
|
||
|
easily see, what has been changed and save your recovered work back to the
|
||
|
file on disk.
|
||
|
|
||
|
By default this plugin is enabled. To disable it, use >
|
||
|
:RecoverPluginDisable
|
||
|
<
|
||
|
To enable this plugin again, use >
|
||
|
:RecoverPluginEnable
|
||
|
<
|
||
|
When you open a file and vim detects, that an |swap-file| already exists for a
|
||
|
buffer, the plugin presents the default Swap-Exists dialog from Vim adding one
|
||
|
additional option for Diffing (but leaves out the lengthy explanation about
|
||
|
handling Swapfiles that Vim by default shows): >
|
||
|
|
||
|
Found a swap file by the name "test/normal/.testfile.swp"
|
||
|
owned by: chrisbra dated: Wed Nov 28 16:26:42 2012
|
||
|
file name: ~chrisbra/code/git/vim/Recover/test/normal/testfile
|
||
|
modified: YES
|
||
|
user name: chrisbra host name: R500
|
||
|
process ID: 4878 [not existing]
|
||
|
While opening file "test/normal/testfile"
|
||
|
dated: Tue Nov 6 20:11:55 2012
|
||
|
Please choose:
|
||
|
D[i]ff, (O)pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete:
|
||
|
|
||
|
|
||
|
(Note, that additionally, it shows in the process ID row the name of the
|
||
|
process that has the process id or [not existing] if that process doesn't
|
||
|
exist.) Simply use the key, that is highlighted to chose the option. If you
|
||
|
press Ctrl-C, the default dialog of Vim will be shown.
|
||
|
|
||
|
If you have said 'Diff', the plugin opens a new vertical splitt buffer. On the
|
||
|
left side, you'll find the file as it is stored on disk and the right side
|
||
|
will contain your recovered version of the file (using the found swap file).
|
||
|
|
||
|
You can now use the |merge| commands to copy the contents to the buffer that
|
||
|
holds your recovered version. If you are finished, you can close the diff
|
||
|
version and close the window, by issuing |:diffoff!| and |:close| in the
|
||
|
window, that contains the on-disk version of the file. Be sure to save the
|
||
|
recovered version of you file and afterwards you can safely remove the swap
|
||
|
file.
|
||
|
*RecoverPluginFinish* *FinishRecovery*
|
||
|
In the recovered window, the command >
|
||
|
:FinishRecovery
|
||
|
<
|
||
|
deletes the swapfile closes the diff window and finishes everything up.
|
||
|
|
||
|
Alternatively you can also use the command >
|
||
|
:RecoveryPluginFinish
|
||
|
<
|
||
|
*RecoverPluginHelp*
|
||
|
The command >
|
||
|
:RecoverPluginHelp
|
||
|
<
|
||
|
show a small message, on what keys can be used to move to the next different
|
||
|
region and how to merge the changes from one windo into the other.
|
||
|
|
||
|
*RecovePlugin-config*
|
||
|
If you want Vim to automatically edit any file that is open in another Vim
|
||
|
instance but is unmodified there, you need to set the configuration variable:
|
||
|
g:RecoverPlugin_Edit_Unmodified to 1 like this in your |.vimrc| >
|
||
|
|
||
|
:let g:RecoverPlugin_Edit_Unmodified = 1
|
||
|
<
|
||
|
Note: This only works on Linux.
|
||
|
|
||
|
*RecoverPlugin-misc*
|
||
|
If your Vim was built with |+balloon_eval|, recover.vim will also set up an
|
||
|
balloon expression, that shows you, which buffer contains the recovered
|
||
|
version of your file and which buffer contains the unmodified on-disk version
|
||
|
of your file, if you move the mouse of the buffer. (See |balloon-eval|).
|
||
|
|
||
|
If you have setup your 'statusline', recover.vim will also inject some info
|
||
|
(which buffer contains the on-disk version and which buffer contains the
|
||
|
modified, recovered version). Additionally the buffer that is read-only, will
|
||
|
have a filename (|:f|) of something like 'original file (on disk-version)'. If
|
||
|
you want to save that version, use |:saveas|.
|
||
|
|
||
|
==============================================================================
|
||
|
3. Plugin Feedback *recover-feedback*
|
||
|
|
||
|
Feedback is always welcome. If you like the plugin, please rate it at the
|
||
|
vim-page:
|
||
|
http://www.vim.org/scripts/script.php?script_id=3068
|
||
|
|
||
|
You can also follow the development of the plugin at github:
|
||
|
http://github.com/chrisbra/Recover.vim
|
||
|
|
||
|
Please don't hesitate to report any bugs to the maintainer, mentioned in the
|
||
|
third line of this document.
|
||
|
|
||
|
==============================================================================
|
||
|
4. recover History *recover-history*
|
||
|
|
||
|
0.18: Aug 14, 2013 "{{{1
|
||
|
|
||
|
- fix issue 19 (https://github.com/chrisbra/Recover.vim/issues/19, by
|
||
|
replacing feedkeys("...\n") by feedkeys("...\<cr>", reported by vlmarek,
|
||
|
thanks!)
|
||
|
- fix issue 20 (https://github.com/chrisbra/Recover.vim/issues/20,
|
||
|
(let vim automatically edit a file, that is unmodified in another vim
|
||
|
instance, suggested by rking, thanks!)
|
||
|
- merge issue 21 (https://github.com/chrisbra/Recover.vim/pull/21, create more
|
||
|
usefule README.md file, contribted by Shubham Rao, thanks!)
|
||
|
- merge issue 22 (https://github.com/chrisbra/Recover.vim/pull/22, delete BufReadPost autocommand
|
||
|
contributed by Marcin Szamotulski, thanks!)
|
||
|
|
||
|
0.17: Feb 16, 2013 "{{{1
|
||
|
|
||
|
- fix issue 17 (https://github.com/chrisbra/Recover.vim/issues/17 patch by
|
||
|
lyokha, thanks!)
|
||
|
- Use default key combinations in the dialog of the normal Vim dialog (adding
|
||
|
only the Diff option)
|
||
|
- Make sure, the process ID is shown
|
||
|
|
||
|
0.16: Nov 21, 2012 "{{{1
|
||
|
|
||
|
- Recovery did not work, when original file did not exists (issue 11
|
||
|
https://github.com/chrisbra/Recover.vim/issues/11
|
||
|
reported by Rking, thanks!)
|
||
|
- By default, delete swapfile, if no differences found (issue 15
|
||
|
https://github.com/chrisbra/Recover.vim/issues/15
|
||
|
reported by Rking, thanks!)
|
||
|
- reset 'swapfile' option, so that Vim by default creates .swp files
|
||
|
(idea and patch by Marcin Szamotulski, thanks!)
|
||
|
- capture and display |E325| message (and also try to figure out the name of
|
||
|
the pid (issue 12 https://github.com/chrisbra/Recover.vim/issues/12)
|
||
|
|
||
|
0.15: Aug 20, 2012 "{{{1
|
||
|
|
||
|
- fix issue 5 (https://github.com/chrisbra/Recover.vim/issues/5 patch by
|
||
|
lyokha, thanks!)
|
||
|
- CheckSwapFileExists() hangs, when a swap file was not found, make sure,
|
||
|
s:Swapname() returns a valid file name
|
||
|
- fix issue 6 (https://github.com/chrisbra/Recover.vim/issues/6 patch by
|
||
|
lyokha, thanks!)
|
||
|
- Avoid recursive :redir call (https://github.com/chrisbra/Recover.vim/pull/8
|
||
|
patch by Ingo Karkat, thanks!)
|
||
|
- Do not set 'bexpr' for unrelated buffers (
|
||
|
https://github.com/chrisbra/Recover.vim/pull/9 patch by Ingo Karkat,
|
||
|
thanks!)
|
||
|
- Avoid aborting the diff (https://github.com/chrisbra/Recover.vim/pull/10
|
||
|
patch by Ingo Karkat, thanks!)
|
||
|
- Allow to directly delete the swapfile (
|
||
|
https://github.com/chrisbra/Recover.vim/issues/7 suggested by jgandt,
|
||
|
thanks!)
|
||
|
|
||
|
0.14: Mar 31, 2012 "{{{1
|
||
|
|
||
|
- still some problems with issue #4
|
||
|
|
||
|
0.13: Mar 29, 2012 "{{{1
|
||
|
|
||
|
- fix issue 3 (https://github.com/chrisbra/Recover.vim/issues/3 reported by
|
||
|
lyokha, thanks!)
|
||
|
- Ask the user to delete the swapfile (issue
|
||
|
https://github.com/chrisbra/Recover.vim/issues/4 reported by lyokha,
|
||
|
thanks!)
|
||
|
|
||
|
0.12: Mar 25, 2012 "{{{1
|
||
|
|
||
|
- minor documentation update
|
||
|
- delete swap files, if no difference found (issue
|
||
|
https://github.com/chrisbra/Recover.vim/issues/1 reported by y, thanks!)
|
||
|
- fix some small issues, that prevented the development versions from working
|
||
|
(https://github.com/chrisbra/Recover.vim/issues/2 reported by Rahul Kumar,
|
||
|
thanks!)
|
||
|
|
||
|
0.11: Oct 19, 2010 "{{{1
|
||
|
|
||
|
- use confirm() instead of inputdialog() (suggested by D.Fishburn, thanks!)
|
||
|
|
||
|
0.9: Jun 02, 2010 "{{{1
|
||
|
|
||
|
- use feedkeys(...,'t') instead of feedkeys() (this works more reliable,
|
||
|
although it pollutes the history), so delete those spurious history entries
|
||
|
- |RecoverPluginHelp| shows a small help message, about diff commands
|
||
|
(suggested by David Fishburn, thanks!)
|
||
|
- |RecoverPluginFinish| is a shortcut for |FinishRecovery|
|
||
|
|
||
|
0.8: Jun 01, 2010 "{{{1
|
||
|
|
||
|
- make :FinishRecovery more robust
|
||
|
|
||
|
0.7: Jun 01, 2010 "{{{1
|
||
|
|
||
|
- |FinishRecovery| closes the diff-window and cleans everything up (suggestion
|
||
|
by David Fishburn)
|
||
|
- DeleteSwapFile is not needed anymore
|
||
|
|
||
|
0.6: May 31, 2010 "{{{1
|
||
|
|
||
|
- |recover-feedback|
|
||
|
- Ask to really open a diff buffer for a file (suggestion: David Fishburn,
|
||
|
thanks!)
|
||
|
- DeleteSwapFile to delete the swap file, that was used to create the diff
|
||
|
buffer
|
||
|
- change feedkeys(...,'t') to feedkeys('..') so that not every command appears
|
||
|
in the history.
|
||
|
|
||
|
0.5: May 04, 2010 "{{{1
|
||
|
|
||
|
- 0r command in recover plugin adds extra \n
|
||
|
Patch by Sergey Khorev (Thanks!)
|
||
|
- generate help file with 'et' set, so the README at github looks prettier
|
||
|
|
||
|
0.4: Apr 26, 2010 "{{{1
|
||
|
|
||
|
- handle Windows and Unix path differently
|
||
|
- Code cleanup
|
||
|
- Enabled |:GLVS|
|
||
|
|
||
|
0.3: Apr 20, 2010 "{{{1
|
||
|
|
||
|
- first public verion
|
||
|
- put plugin on a public repository
|
||
|
(http://github.com/chrisbra/Recover.vim)
|
||
|
|
||
|
0.2: Apr 18, 2010 "{{{1
|
||
|
|
||
|
- Internal version, some cleanup, bugfixes for windows
|
||
|
|
||
|
0.1: Apr 17, 2010 "{{{1
|
||
|
|
||
|
- Internal version, First working version, using simple commands
|
||
|
|
||
|
==============================================================================
|
||
|
Modeline: "{{{1
|
||
|
vim:tw=78:ts=8:ft=help:et:fdm=marker:fdl=0:norl
|