Projectile

From WikEmacs
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Projectile is a project interaction library for Emacs. Its goal is to provide a nice set of features operating on a project level without introducing external dependencies. For instance - finding project files is done in pure Emacs Lisp without the use of GNU find.

Projectile
Description Project management library
Author Bozhidar Batsov
Maintainer Bozhidar Batsov
Source https://github.com/bbatsov/projectile

This library provides easy project management and navigation. The concept of a project is pretty basic - just a folder containing special file. Currently git, mercurial and bazaar repos are considered projects by default. If you want to mark a folder manually as a project just create an empty .projectile file in it. Some of projectile's features:

  • jump to a file in project
  • jump to a project buffer
  • multi-occur in project buffers
  • grep in project
  • regenerate project etags

Basic setup

(add-to-list 'load-path "/path/to/projectile/directory")
(require 'projectile)
(projectile-global-mode) ;; to enable in all buffers

Helpful keybindings

[C-c p f]
Find a file in the project.
[C-c p l]
Find a file in a directory.
[C-c p g]
Find text matches in the project

Common Customization

Enable caching

Indexing a large project can take a while. You can enable caching to prevent additional reindexing.

(setq projectile-enable-caching t)

See Also

Nameframe - use one frame per project

nameframe provides utility functions to manage frames by their names.

Its primary goal is to be used with Projectile and/or perspective.el (see Buffer_management). When opening a Projectile project, it will either switch to an existing frame of the project, or create a new frame for the project.

Project Pages

Tutorial Pages