Does VIM have continuation indent?

Most of my team uses RubyMine and they have established a coding style standard of continuation indents should be 4 spaces. Apparently RubyMine has a setting that reads, “In this text box, specify the number of spaces (or tabs if the Use Tab Character check box is selected) to be inserted at the next line in case of a construct break.” Basically it allows breaking a really long line of code into multiple lines and it automatically indents each of the additional lines by 4 spaces instead of the standard amount (in our case 2).

For example, let’s say I have this line of code:

aps = AssessmentProgress.joins(milestone_progress: { course_progress: :user }).
    where(assessment_id: assessment_id, completed: nil).
    where('course_progresses.term_id = ? AND course_progresses.section_id = ? AND users.demo = ?', term_id, section_id, demo)

If I were to automatically format this file with gg=G then it would move each of the lines beginning with “where” back to being 2 space indented lines. I’m looking for a way to configure vim so that it automatically indents 4 spaces instead of 2 on “continuation” lines both when I mass indent large blocks of code and when I’m writing this line(s) for the first time.

Any ideas?


As far as I know Vim has a coarse configuration for indentation (:set shiftwidth=2) and very fine grained control via filetype specific indentation rules and functions (, but nothing in-between for what you are describing.