Difference between revisions of "Projectile"
Jump to navigation
Jump to search
(fixed headings) |
|||
Line 3: | Line 3: | ||
|description=Project management library | |description=Project management library | ||
|author=[[User:Bozhidar | Bozhidar Batsov]] | |author=[[User:Bozhidar | Bozhidar Batsov]] | ||
− | |maintainer=Bozhidar Batsov | + | |maintainer=[[User:Bozhidar | Bozhidar Batsov]] |
|source=https://github.com/bbatsov/projectile | |source=https://github.com/bbatsov/projectile | ||
}} | }} | ||
Line 17: | Line 17: | ||
* regenerate project etags | * regenerate project etags | ||
− | = Basic setup = | + | == Basic setup == |
<source lang="lisp"> | <source lang="lisp"> | ||
Line 25: | Line 25: | ||
</source> | </source> | ||
− | = Helpful keybindings = | + | == Helpful keybindings == |
; {{Keys|C-c p j}} | ; {{Keys|C-c p j}} | ||
Line 33: | Line 33: | ||
: Find text matches in the project | : Find text matches in the project | ||
− | = Common Customization = | + | == Common Customization == |
− | == Enable caching == | + | === Enable caching === |
+ | |||
+ | Indexing a large project can take a while. You can enable caching to prevent additional reindexing. | ||
<source lang="lisp"> | <source lang="lisp"> | ||
Line 41: | Line 43: | ||
</source> | </source> | ||
− | = See Also = | + | == See Also == |
* [[Helm]] | * [[Helm]] | ||
* [[Find File in Project]] | * [[Find File in Project]] | ||
− | = Project Pages = | + | == Project Pages == |
* [https://github.com/bbatsov/projectile GitHub Repo] | * [https://github.com/bbatsov/projectile GitHub Repo] | ||
− | = Tutorial Pages = | + | == Tutorial Pages == |
[[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]] | [[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]] |
Revision as of 09:23, 4 April 2012
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
(add-to-list 'load-path "/path/to/projectile/directory")
(require 'projectile)
(projectile-global-mode) ;; to enable in all buffers
Helpful keybindings
- [C-c p j]
- Jump to a file in the project.
- [C-c p f]
- 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)