Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Edit code that's embedded within other code
VimL
branch: master

This branch is 30 commits behind AndrewRadev:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
autoload
doc
example
plugin
README.markdown
_project.vim

README.markdown

Problem

Editing javascript within HTML is annoying. To generalize, editing code that's embedded in some different code is annoying.

Solution

Given the following example:

<script type="text/javascript">
  $(document).ready(function() {
    $('#foo').click(function() {
      alert('OK');
    });
  })
</script>

Execute :InlineEdit within the script tag. A proxy buffer is opened with only the javascript. Saving the proxy buffer updates the original one. You can reindent, lint, slice and dice as much as you like.

Check the docs for more information, see the examples directory for some example files to try it on.

If you like the plugin, consider rating it on vim.org.

What does it work for?

  • Javascript and CSS within HTML
<head>
  <script type="text/javascript">
    $(document).ready(function() {
      $('#foo').click(function() {
        alert('OK');
      });
    })
  </script>

  <style>
    body {
      color: blue;
      background-color: red;
    }
  </style>
</head>
  • SQL within ruby (matches "<<-SQL")

    def some_heavy_query
      execute <<-SQL
        SELECT * FROM users WHERE something = 'other';
      SQL
    end
  • Code within fenced markdown blocks

  Some text.

  ``` ruby
  def foo
    puts "OK"
  end
  ```

  ``` python
  def foo():
      print("OK")
  ```

  Some other text.
  {%  block content %}
  <h1>{{ section.title }}</h1>

  {% for story in story_list %}
  <h2>
    <a href="{{ story.get_absolute_url }}">
      {{ story.headline|upper }}
    </a>
  </h2>
  <p>{{ story.tease|truncatewords:"100" }}</p>
  {% endfor %}
  {% endblock %}
  • Visual mode - any area that you mark
Something went wrong with that request. Please try again.