Skip to content

tommcdo/vim-lion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 

Repository files navigation

lion.vim

Lion.vim is a tool for aligning text by some character. It defines some Vim operators that can be used with motion commands to align a targeted block of text.

The two operators are gl and gL. gl will add spaces to the left of the alignment character, and gL will add spaces to the right. Both operators accept a count, a motion, and a single character. Without a count, all occurrences of the character will be aligned.

For example, glip= will turn

$i = 5;
$username = 'tommcdo';
$stuff = array(1, 2, 3);

into

$i        = 5;
$username = 'tommcdo';
$stuff    = array(1, 2, 3);

Typing 3gLi(, with the cursor somewhere inside ( and ) will turn

$names = array(
    'bill', 'samantha', 'ray', 'ronald',
    'mo', 'harry', 'susan', 'ted',
    'timothy', 'bob', 'wolverine', 'cat',
    'lion', 'alfred', 'batman', 'linus',
);

into

$names = array(
    'bill',    'samantha', 'ray',       'ronald',
    'mo',      'harry',    'susan',     'ted',
    'timothy', 'bob',      'wolverine', 'cat',
    'lion',    'alfred',   'batman',    'linus',
);

It is also possible to align text by a pattern. To enter a pattern, use / as the alignment character (e.g. glip/) and then you will be prompted to input the pattern. To align by /, simply leave the pattern empty (by pressing Enter).

Installation

If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://github.com/tommcdo/vim-lion.git

Once help tags have been generated, you can view the manual with :help lion.

Options

Option Description Default
g:lion_create_maps Whether to create mappings 1
b:lion_squeeze_spaces
g:lion_squeeze_spaces
Squeeze extra spaces 0
g:lion_map_right Mapping for right-align operator gl
g:lion_map_left Mapping for left-align operator gL

If you set: let b:lion_squeeze_spaces = 1, and hit glip=, you will turn

$i      = 5;
$user     = 'tommcdo';
$stuff  = array(1, 2, 3);

into:

$i     = 5;
$user  = 'tommcdo';
$stuff = array(1, 2, 3);

instead of (b:lion_squeeze_spaces = 0):

$i        = 5;
$user     = 'tommcdo';
$stuff    = array(1, 2, 3);

About

A simple alignment operator for Vim text editor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published