node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



amp up your command line.

assign variables to output from common commands

a great complement to tab completion

npm -g install ampline

show not tell

A simple example:

$ ls
1 amp
2 node_modules
3 package.json
5 screenshots
$ cat 4
# executes cat 
TODO write a readme. Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod.
$ amp echo "hi" >> 4
# executes echo "hi" >> 
$ gs # this is an alias that uses `amp` 
1  M
$ ga
1 M
$ git commit -m 'added hi to my readme.'

A more complicated example:


basic actions

  • list the variables you have saved
    $ amp
  • expand the variables you have saved
    $ amp vim 1 2 3-5
  • run a command (step 1: expand variables, step 2: run command, step 3: each line that matches the -p regex will be saved to a variable)
    $ amp -p "(.*)" ls -1
    1 amp
    2 node_modules
    3 package.json
    5 screenshots
    # let's view what the current variables are set to 
    $ amp
    1 = amp
    2 = node_modules
    3 = package.json
    4 =
    5 = screenshots

suggested aliases

Because you don't want to type amp all over the place.

These are the aliases I use. Since I only just wrote this, there aren't that many. Based on these it shouldn't be too hard write/customize your own set of aliases.

    # give me variable saving! 
    alias gs='amp -p "...(.*)$" git status -s'
    alias gbr='amp -p " ? (?:remotes\\/)?(?:origin\\/)?(.*)$" git branch' # supports -a, -r flags 
    alias l='CLICOLOR_FORCE=1 amp -p "(.*)" ls -1'
    alias find='amp -p "(.*)" find'
    # give me variable expansion! 
    alias subl='amp subl'
    alias ga='amp git add'
    alias grm='amp git rm'
    alias gco='amp git checkout'
    alias gd='amp git diff'
    alias gdh='amp git diff HEAD'
    alias gunstage='amp git unstage'
    alias cat='amp cat'
    alias less='amp less'
    alias mocha='amp mocha'