Difference between revisions of "Projectile"

From WikEmacs
Jump to: navigation, search
(Helpful keybindings)
m (adding category)
(2 intermediate revisions by the same user not shown)
Line 29: Line 29:
; {{Keys|C-c p f}}
; {{Keys|C-c p f}}
: Find a file in the project.
: Find a file in the project.
; {{Keys|C-c p l}}
: Find a file in a directory.
; {{Keys|C-c p g}}
; {{Keys|C-c p g}}
Line 53: Line 56:
== Tutorial Pages ==
== Tutorial Pages ==
[[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]]
[[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]][[Category:Programming]]

Latest revision as of 09:11, 12 September 2014

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

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.

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[edit]

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

Helpful keybindings[edit]

[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[edit]

Enable caching[edit]

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

(setq projectile-enable-caching t)

See Also[edit]

Project Pages[edit]

Tutorial Pages[edit]