Skip to main content

Automagic ctrl+t filename completion to launch in your favorite editor

Project description




  • $ sudo pip install completeme

  • $ echo “source `which`” >> ~/.bashrc

  • $ source ~/.bashrc


  • $ brew install bash # see note below about OS X and bash 4

  • $ sudo pip install completeme # no need for ‘sudo’ if you installed python with brew, as well!

  • $ echo “source `which`” >> ~/.profile

  • $ source ~/.profile



completeme is a python script to auto-complete filenames in a given directory, much like Github’s ‘t’ keyboard shortcut or Command-T in TextMate or SublimeText. When you’ve settled on the file you’d like to edit, press “Enter” to open it with whatever’s in your $EDITOR variable or press “Tab” to drop that filename at the end of your current command!

To change your search directory, simply prefix your query. That is, start your string with “../” to search your current working directory’s parent or “/tmp/” to search “/tmp/”. Note that the trailing slash is what triggers the directory change. If your current search directory is a git repository, this will respect your .gitignore.

Make sure to add “source `which`” to your .bashrc to enable Ctrl+t support!


completeme comes with (wherever-pip-installs-the-completeme-python-package)/completeme.json, which you can use to, well, configure your completeme experience.

  • include_directories (default=true) indicates whether we should also display directories (not just files).

  • find_hidden_directories (default=false) indicates whether we should search inside dot directories (assuming we didn’t find a git repository). These are things like .config/, .vim/, etc.

  • find_hidden_files (default=false) indicates whether we should find files that start with a dot (assuming we didn’t find a git repository). These are things like .emacs, .xinitrc, .DS_Store, etc.

Known Issues

Mac OS X ships with bash 3.2, which doesn’t use the READLINE_LINE or READLINE_POINT variables. Unless you upgrade, you won’t be able to use the tab-functionality to drop the filename back into the prompt! To upgrade:

  • brew install bash

  • Add /usr/local/bin/bash to /etc/shells

  • chsh -s /usr/local/bin/bash


This software is licensed under the WtHYWv2 (Whatever the Hell You Want, v2). Please throw some credit around if it’s deserved.


Thank you to all who have contributed ideas and feedback. Special thanks to those listed below!

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

completeme-0.5.14.tar.gz (14.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page