Difference between revisions of "Projectile"
Jump to navigation
Jump to search
(fixed headings) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 27: | Line 27: | ||
== Helpful keybindings == | == Helpful keybindings == | ||
− | ; {{Keys|C-c p | + | ; {{Keys|C-c p f}} |
− | : | + | : Find a file in the project. |
− | ; {{Keys|C-c p | + | ; {{Keys|C-c p l}} |
+ | : Find a file in a directory. | ||
+ | |||
+ | ; {{Keys|C-c p g}} | ||
: Find text matches in the project | : Find text matches in the project | ||
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]] |
Revision as of 15:27, 18 December 2013
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 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)