• This repository has been archived on 30/Dec/2023
  • Stars
    star
    298
  • Rank 139,663 (Top 3 %)
  • Language
    Vim Script
  • License
    MIT License
  • Created over 11 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple tool for presenting slides in vim based on text files.

presenting.vim

presenting.vim is a vim plugin that turns your markup into presentable slides (in vim).

It is a clone of present.vim which is a clone of presen.vim. In contrast to its predecessors, presenting.vim:

  • has support for common markup languages,
  • can be extended, and
  • is documented

Great, hey?

Demonstrations

Here is what the examples/PresentingDemo.rst file looks like when presented.

presenting.vim RST demo

Markdown files are rendered a bit more fancifully. Be sure to read the help file. Here is the examples/PresentingDemo.markdown being presented.

presenting.vim Markdown demo

Installation

Use pathogen or vundle to install presenting.vim.

Configuration

Simply write your presentation in your favorite markup language. Every slide is separated by a markup language specific marker.

Filetype Slide Separator
markdown # heading
rst ~~~~
orgmode #----
GoLang slide * title

These can be overridden or extended by setting b:presenting_slide_separator for your preferred filetype in your .vimrc. For example, set the .rst slide separator to ~~~~ via:

au FileType rst let b:presenting_slide_separator = '\v(^|\n)\~{4,}'

Usage

When you want to start presenting, execute

:PresentingStart

It is possible to have multiple presentations running at the same time. Just run the command in each source document, and each slide show will be displayed in its own tab.

Once presenting, slide navigation is accomplished via these keys:

Key Action
n next slide
p previous slide
q quit

Examples

For examples of presenting.vim presentations, see:

Of course you can configure the slide separators.

Contributing

The code and issue tracker are on github. Pull requests are welcome!