Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A plugin that helps with switching between single-line and multiline code
VimL
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
autoload
doc
ftplugin Version 0.8.0
plugin
README

README

This is a mirror of http://www.vim.org/scripts/script.php?script_id=3613

Github repo is at https://github.com/AndrewRadev/splitjoin.vim

This plugin is meant to simplify a task I've found too common in my workflow: switching between a single-line statement and a multi-line one.

I usually work with ruby and a lot of expressions can be written very concisely on a single line. A good example is the "if" statement:

    puts "foo" if bar?

This is a great feature of the language, but when you need to add more statements to the body of the "if", you need to rewrite it:

    if bar?
      puts "foo"
      puts "baz"
    end

The idea of this plugin is to introduce a single key binding for transforming a line like this:

    <div id="foo">bar</div>

Into this:

    <div id="foo">
      bar
    </div>

And another binding for the opposite transformation.

This currently works for:
  * Various constructs in Ruby and Eruby
  * Various constructs in Coffeescript
  * Various constructs in Perl
  * Various constructs in Python
  * PHP arrays
  * Javascript object literals and functions
  * Tags in HTML/XML
  * CSS, SCSS, LESS style declarations.
  * YAML arrays
  * Lua functions
  * Vimscript line continuations

For more information, try :help splitjoin, or take a look at the help file online at https://github.com/AndrewRadev/splitjoin.vim/blob/master/doc/splitjoin.txt

For more examples and corner cases, you can explore the "examples" directory here: https://github.com/AndrewRadev/splitjoin.vim/tree/master/examples. It's not present in the downloadable zip file to avoid cluttering your vimfiles with useless stuff.

If you encounter any bugs or have an idea for a new feature, the issue tracker is on github, at https://github.com/AndrewRadev/splitjoin.vim/issues.

Something went wrong with that request. Please try again.