Github fork of the original Vim screenwriter
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


(text copied from
Version imported into this repo : 0.2.31

Pago is probably the most powerful terminal-based screenwriting script available for any platform, and allows the use of vim as a fully-functional piece of screenwriting software such as Final Draft or Celtx.  While some elements of the script are unstable, it undergoes daily testing and revision, becoming more mature as I use it every day for my own screenwriting projects.

PLEASE PROVIDE ME WITH FEEDBACK if you use or test this software -- any comments or requested features will be given full consideration.  (zazaian (at) gmail (dot) com).  Your thoughts are essential to developing this program into a piece of software that best serves the open source community.

* Supports all major formatting elements of a screenplay, based on both logical and commonly accepted conventions of the screenplay form.
* Automatically enforces all boundaries within each screenplay element, ensuring proper formatting to the exact specifications of a screenplay.
* Allows access to all six available screenplay ELEMENTS without any complex keyboard shortcuts or commands, using only the keys <Backspace>, <Tab>, <Enter>, <Up>, <Down>, <Left>, <Right>.
* Allows easy cycling through blank screenplay elements using both the <Tab> and <Backspace> keys.

  * Pressing TAB cycles through empty screenplay elements in the order:


    * Pressing <Tab> from a blank TRANSITION element will cycle back to the
      beginning of the line, triggering a blank ACTION element.

    * Parentheses are automatically inserted when calling a blank PARENTHETICAL
      element.  Pressing <Tab> from within blank parentheses will automatically
      delete the parentheses and jump to a blank CHARACTER element.

    * A colon (":") is automatically inserted at the end of the line when an
      TRANSITION element is called.  The cursor remains at the spot of the colon
      when text is either entered or deleted.
      * Text typed within a TRANSITION element is automatically RIGHT-JUSTIFIED.

      * Pressing <Enter> from a TRANSITION element jumps two lines down the page
        and prompts a blank SCENE HEADING element.

  * Pressing <Backspace> on an empty line cycles through empty screenplay elements
    in the reverse order:


    * Pressing <Backspace> from a blank line jumps to the end of the previous
      element or, if the above two lines are blank, will create a blank ACTION
      element two lines above the previous cursorline.
    * Pressing <Backspace> on a line with text will delete the character to the
      left of the cursor.

  * All text typed with a SCENE HEADING, CHARACTER, or TRANSITION element will be
    automatically CAPITALIZED.

  * To create a SCENE HEADING element, press enter while in a blank ACTION element.
    The Cursorline will be HIGHLIGHTED and all text typed within the element will

  * While in a blank SCENE HEADING element:
    * Press the <Space> bar to cycle through the common prefixes INT., EXT., and
    * Press <Enter> to jump down two lines to a new, blank ACTION element.

  * Active screenplay element is displayed in CAPS in the status bar.

  * Page number is displayed in the status bar.  This estimates the number of pages
    within your screeplay using a 56-line-per-page standard.

  * Pressing <Up> in either INSERT or NORMAL modes jumps to the beginning of the
    line above the cursorline.

  * Pressing <Down> in either INSERT or NORMAL modes jumps to the end of the
    line above the cursorline.

  * Holding <Left> in either INSERT or NORMAL modes scrolls through to the
    beginning of the current element, then jumps to the end of the previous

  * Holding <Right> in either INSERT or NORMAL modes scrolls through to the
    end of the current element, then jumps to the beginning of the next

  * Typing text within a screenplay element such as DIALOGUE or ACTION will
    automatically reformat the paragraph if text exceeds the preset end of the
    line.  This improves upon use of the :tw (text width) and :wrap commands by
    formatting text that is typed within a paragraph, rather than simply at the end
    of it.