Skip to content
/ mrT Public

Inverse of shell command, find file first and act accordingly on it. A fast file finder with curses interface.

License

Notifications You must be signed in to change notification settings

vic/mrT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mr T

MrT

What is it.

MrT is a curses based file finder. If you're familiar with Textmate's cmd-t, Vim's Command-T plugin, or Emacs' Anything, you'll feel right at home.

MrT allows you to have fast, file completion from your shell prompt. You can use it as-is by invoking the mrt command, or use it as your default file completion strategy for some unix commands.

Requirements

MrT requires ruby version 1.8.7 or greater, it has been tested with 1.9.2. It requires your ruby to have been compiled with the standard curses and readline libraries. If you are building your own ruby or are using rvm make sure you have needed development libraries before compiling ruby.

We use the Command-T gem, we expect our changes can be integrated into Command-T's main repo.

Installation

rake install

You might want to add the pity alias to your ~/.bashrc to easilly kill a fool process.

alias pity="ps -eopid,cmd | mrt - 3>&1 1>&2 2>&3 | awk '{print\$1}' | xargs kill"

Usage

After installation, you might be able to use the mrt binary, right now it takes an optional directory as only argument.

MrT not only allows you to find files, if you hit the TAB key upon a selected file, MrT will present a set of actions to execute on it.

Even though MrT was created for fast file finding from the shell prompt, it is not restricted to work only on files. Actually, because of MrT's addon design you can easily configure it to complete on anything you want.

As with vim, you can use the backslash key (we call it Leader) to change from one selector to another using Leader + someKey. Use Leader + space to show available selectors.

Configuration

A YAML file ~/.mrtrc with a Hash content can be used for configuration.

Default values are:

# used to determine which files should be excluded from listings.
# this is a list of glob patterns.
ignore_patterns: []

# if true and no directory is specified, mrT tries to guess git project root.
find_git_root: true

# max depth of directories to find files in.
max_depth: 15

# max number of matches to display.
max_files: 10_000

# if you're inside a Git repo, should Mr T use your ignore patterns?
# by default Mr T will only use gitignore
patterns_in_git_repo: false

# should hidden directories be scanned?
scan_dot_directories: false

# should hidden files be shown?
show_dot_files: false

# if you're inside a Git repo, should Mr T ignore the same files as Git?
use_git_ignore: true

Customization

If a .mrtrc.rb file is found at your $HOME directory it will be automatically loaded. On a git repo you can place it at the root dir.

Future

Use Command-T caching features, expose Command-T options as command line flags.

Contribute

Feel free to adapt mrT to your needs, report any issue or send pull requests to the github repository:

http://github.com/vic/mrT

Authors

About

Inverse of shell command, find file first and act accordingly on it. A fast file finder with curses interface.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages