Skip to content

Vim motions to the start and end of the current indentation-delimited block

Notifications You must be signed in to change notification settings

tmhedberg/indent-motion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

indent-motion

indent-motion is a Vim plugin which maps <Leader>[ and <Leader>] in normal, visual, and operator-pending modes to move to the beginning and end (respectively) of your current indentation-delimited block (<Leader> refers to your current user-defined "mapleader", which is \ by default).

For example (using JavaScript):

function foo(a, b, c) {
    var x = 1;
    var y = 2;
    if (x == y) {
        alert("This will never happen!");
        ++y;
    }
}

In the above snippet, if the cursor is positioned on the var x = 1; line, then <Leader>] will move the cursor to the next-to-last line (closing brace of the conditional block) and <Leader>[ will move it back to the original location. If the cursor is positioned on the alert call, then <Leader>] will move down 1 line to ++y;.

If one of the mappings is executed on an empty line (containing no characters, not even whitespace), then the assumed indentation will be that of the next non-empty line, where "next" is in the direction of the requested motion.

Currently, the mappings are not configurable, but this can easily be changed upon request.

About

Vim motions to the start and end of the current indentation-delimited block

Resources

Stars

Watchers

Forks

Packages