A plugin for vim that enables you to replay your editing Session
Vim script Makefile Perl Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


*Replay.txt*   A plugin to record and replay your editing sessions

Author:  Christian Brabandt <cb@256bit.org>
Version: 0.5 Wed, 14 Aug 2013 22:26:12 +0200

Copyright: (c) 2009, 2010, 2011, 2012, 2013 by Christian Brabandt
           The VIM LICENSE applies to Replay.vim (see |copyright|)
           except use Replay.vim instead of "Vim".

1. Contents                                                  *ReplayPlugin*

        1.  Contents.....................................: |ReplayPlugin|
        2.  Replay Manual................................: |Replay-manual|
        3.  Replay Configuration.........................: |Replay-config|
        3.1   Replay Speed...............................: |Replay-speed|
        3.2   Replay Recording...........................: |Replay-record|
        4.  Replay Feedback..............................: |Replay-feedback|
        5.  Replay History...............................: |Replay-history|

2. Replay Manual                                            *Replay-manual*


This plugin allows you to record and replay your changes that have been done
to a buffer.

:StartRecord[!] [Tag]       This will start a new record session, that will be
                            called Tag. If [Tag] is not given, use the
                            "Default" tag name. If the tag already exists, an
                            error is given and it will be aborted. Use ! to
                            overwrite an existing tag name.
                            You can use <Tab> to complete the available Tag

:StopRecord[!] [Tag]        Recording Session for the Tag will stop at this
                            If you don't enter a Tag name, the last started
                            recording session will stop.
                            You can use <Tab> to complete the available Tag

:Replay [Tag]               Start Replaying your Session, that is identified
                            by the tag Tag. If Tag is not given, use the
                            default tag "Default"
                            You can use <Tab> to complete the available Tag

:ScreenCapture[!] [-shell] [filename]

                            If you have enabled screen capturing to video,
                            this command will start a screen capturing session
                            to video or stop it (if :ScreenCapture!) is used.
                            If you used the -shell argument, a new shell will
                            be started, else the current Vim session will be
                            [filename] can optionally be given and
                            will be the name of the recorded session with the
                            date appended to it. See also |Replay-record| for
                            how to enable it.

:ListRecords                Show which tags are available. This presents a
                            little table that looks like this:

    Tag Starttime               Start           Stoptime        Stop~
   abcd 27.08.2010 14:12:01     164     27.08.2010 14:12:11     168
Default 27.08.2010 14:09:26     0       -------------------

That means one Recording called "abcd" was started in the undo-tree with the
change number 164. (You can jump back to that change using :undo 164, see also
|:undo|.) Recording time for that tag started on August, 27, 2010 at 14:12:01
o'clock and recording will stop at change number 168 which was at 14:12:11
o'clock. Please bear in mind, that the starting time for the Default-Tag can't
exactly be given, but is the first time, any of the above commands was called.

3 Replay Configuration                                       *Replay-config*

3.1 Replay Speed                                              *Replay-speed*

You can configure the speed, with which to replay the changes, that have been
done. By default, Replay.vim pauses for 200ms after every change. If you want
to change this, set the variable g:replay_speed to a value in milliseconds in
your |.vimrc| >

    let g:replay_speed = 300
will replay your editing session with slower and pauses for 300ms after every

3.2 Replay Recording                                        *Replay-record*

It is possible to record the replay using avconv/ffmeg. For this to work, you
need ffmpeg/avconv installed and vim needs to be run on an X11-Server. To
enable this, set the variable g:replay_record to 1 in your |.vimrc| like this: >

    let g:replay_record = 1
When the replay is started, it will be recorded using ffmpeg/avconv for
screencapturing and the result will be saved as Vim_Recording_YYYYMMDD.mkv (in
case you haven't specified an optional filename else it will be saved as
filename_YYYYMMDD.mkv) in either the current working directory (|:pwd|) if it
is writable or your $HOME directory. If you have used the optional -shell
argument, a new |:sh| will be started.

(Note, this currently works only on Unix/Linux and you need ffmpeg or avconv
in your $PATH for this to work)

4. Replay Feedback                                         *Replay-feedback*

Feedback is always welcome. If you like the plugin, please rate it at the

You can also follow the development of the plugin at github:

Please don't hesitate to report any bugs to the maintainer, mentioned in the
third line of this document.

5. Replay History                                          *Replay-history*

0.5: Aug 14, 2013 {{{2

- improvements for |:ScreenCapture| capture

0.4: Feb 27, 2013 {{{1

- disable folding
- enable to screenrecord the replay using ffmpeg/avconv
  (fixes https://github.com/chrisbra/Replay/issues/1,
  suggested by David Jacobs, thanks!)

0.3: Aug 27, 2010 {{{1

- Automatically stopp Recording for latest started Recording session
  (suggested by Salim Halim, thanks!)
- Changed recording of time to use localtime() instead of storing a string
- Better documentation for :ListRecordings
- ListRecordings now also displays the change number (so you can easily jump
  to a change using :undo)

0.2: Aug 24, 2010  {{{1

- Enabled |GLVS|
- small bugfixes
- changed default playback rate to 200ms

0.1: Aug 23, 2010 {{{1

- Initial upload
- development versions are available at the github repository
- put plugin on a public repository (http://github.com/chrisbra/NrrwRgn)

Modeline: {{{1