aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 3336a2946b3011020a64ea6ee63fbd3d983bf784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Synopsis

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 elisp 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

# Installation

You can enable projectile globally like this:

```
(require 'projectile)
(projectile-global-mode) ;; to enable in all buffers
```

To enable projectile only in select modes:

```
(add-hook 'ruby-mode-hook #'(lambda () (projectile-mode)))
```

# Usage

Here's a list of the interactive Emacs Lisp functions, provided by projectile:

* projectile-jump-to-project-file (C-c p j)
* projectile-grep-in-project (C-c p f)
* projectile-replace-in-project (C-c p r)
* projectile-switch-to-buffer (C-c p b)
* projectile-multi-occur (C-c p o)
* projectile-regenerate-tags (C-c p t)
* projectile-invalidate-project-cache (C-c p i)

# Pitfalls



# Contributors