diff options
| author | gcv <gepardcv@gmail.com> | 2022-03-19 15:23:17 -0700 |
|---|---|---|
| committer | gcv <gepardcv@gmail.com> | 2022-03-19 15:23:17 -0700 |
| commit | a34466feb5fb56589672bdd5fd563f7f7bee797e (patch) | |
| tree | 9bf90aafa0cf63461be3bdd6470ad790ccabe3ae /README.md | |
| parent | 14cbdb5460d7ee728d397aace280702866eb880e (diff) | |
| parent | e6637c4e9e193ffb924d29b6cb9acb75fa4fb87d (diff) | |
Merge branch 'master' of https://github.com/NicholasBHubbard/perspective-el into NicholasBHubbard-master
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -27,6 +27,7 @@ please refer to it for release notes. - [Sample Use Cases](#sample-use-cases) - [Multiple Projects](#multiple-projects) - [Yak Shaving](#yak-shaving) + - [Perspective Merging](#perspective-merging) - [Similar Packages](#similar-packages) - [Compatibility](#compatibility) - [Installation](#installation) @@ -83,6 +84,35 @@ Y, you close perspective `bugfix-Y` and return to `feature-X`. — see documentation below.) +### Perspective Merging + +Yak shaving is useful for working on projects that are largely unrelated but +sometimes you are working on multiple projects that are very much related, to +the point that you want to view files from both projects at the same time. This +is where perspective merging comes in. + +Suppose you are working on a project that requires developing multiple auxiliary +libraries. It may get messy to develop both the main project and all the +libraries from the same perspective so instead you put each library in its own +perspective so you can work on them in isolation. All of a sudden though you +wish to see library code from the main projects perspective. Instead of +switching back and forth between the library and main projects perspectives you +can run `M-x persp-merge` and import the buffers from the libraries perspective. +When you are done you can run remove the imported buffers with +`M-x persp-unmerge`. + +The purpose of perspective merging is to combine the buffer lists of different +perspectives while keeping a clear distinction of which buffers belong to which +perspective. + +- You can merge together as many perspectives as you want. +- Merging is one directional so if you merge A into B, B's buffers will not be +available in A. +- Merging is not transitive so if you merge A into B, then B into C, the buffers +in A will not be available in C. +- The merge state is saved across sessions when using [persp-state-{save,load}](#saving-sessions-to-disk). + + ## Similar Packages The following Emacs packages implement comparable functionality: |
