Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gwatcha/reaper-keys
vim-bindings for Reaper
https://github.com/gwatcha/reaper-keys
Last synced: about 1 month ago
JSON representation
vim-bindings for Reaper
- Host: GitHub
- URL: https://github.com/gwatcha/reaper-keys
- Owner: gwatcha
- License: mit
- Created: 2020-04-19T01:37:50.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T00:23:55.000Z (about 2 months ago)
- Last Synced: 2024-04-08T18:26:59.740Z (about 1 month ago)
- Language: Lua
- Homepage: https://gwatcha.github.io/reaper-keys/
- Size: 93.7 MB
- Stars: 128
- Watchers: 7
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Lists
- awesome-neovim - gwatcha/reaper-keys - Modal keybindings for Reaper DAW. (Media / Cursorline)
- vim-keybindings-everywhere-the-ultimate-list - Reaper-Keys - Bringing a modal editor to the Reaper DAW. (Music Production)
- awesome-neovim - gwatcha/reaper-keys - Modal keybindings for Reaper DAW. (Media / Cursorline)
- awesome-neovim - gwatcha/reaper-keys - Modal keybindings for Reaper DAW. (Media / Cursorline)
README
# Reaper-Keys
Reaper-Keys is an extension for the [REAPER DAW](https://www.reaper.fm/), that provides a new action
mapping system based on key sequences instead of key chords. The system is
similar to [Vim](https://en.wikipedia.org/wiki/Vim_%28text_editor%29), a modal text editor, and by default comes with vim-like bindings.Click [here](https://youtu.be/ChuZswEfQuo) for a very outdated and low quality demo and installation video.
## Pros
- Save a couple minutes per hour
- Develop arthritis at 60 instead of 40
- Reduce mouse usage
- Increase maximum bandwidth between your brain and your project
- A structure for reapers giant bag of actions# Table of Contents
1. [Features](#Features)
1. [Bind key sequences](#Bind-key-sequences)
2. [Compose actions](#Compose-actions)
3. [Multi-modal](#Multi-modal)
4. [Macros](#Macros)
3. [Installation](#Installation)
4. [Help](#Help)
5. [Further Information](#Further-Information)## Features
### Bind key sequences
With reaper-keys, you may bind key sequences to actions, rather then singular
key presses. This allows one to hierarchically organize many keybindings for easy access to many keybindings.A completion/feedback window is provided to assist with command completion.
![img](img/completions.gif)
### Compose actions
Reaper-keys lets one compose actions of different types to create new commands.
For example, in normal mode, any action with `timeline motion` type can follow any one with `timeline operator` type.
So if one enters `tL`, it would compose into `(t -> "PlayAndLoop", L -> "NextMeasure")`, and play and loop the next measure.
Other example `timeline operator` bindings are `s` -> "SelectItemsAndSplit" , or `z` -> "ZoomTimeSelection", so you could also enter `sL` or `zL`.
![img](img/compose.gif)
This grows the number of available actions exponentially but still preserves your
brain, as you only need to know the `timeline_motions`, `timeline_operators`, and
the fact that you can compose them.### Multi-modal
Changing modes changes the way keys compose. By default, it is in `normal` mode, but you could for example go into `visual timeline` mode by pressing `v`.
In this mode, `timeline motions` extend the current time selection, and `timeline actions` operate immediately and return one to `normal` mode. Useful if you want
visual feedback before executing a timeline action, or just want to extend the
time selection using motion commands.![img](img/visual_mode.gif)
### Macros
Macros are a way to save a sequence of commands, and play them back later.
To record a macro, enter `q` and an arbitrary character to specify the `register` that
the macro will save into. Then, perform a series of actions, and finish
recording by pressing `q`.![img](img/macro_rec.gif)
You may play it back by entering `@` and the character you specified earlier.
Optionally, prefix it with a number to indicate the number of repetitions.![img](img/macro_play.gif)
## Installation
- Clone this repository or download it via the 'releases' tab (download the file 'reaper-keys.zip').
- Put this repository into your `REAPER/Scripts` directory . If you're unsure where your `REAPER` directory is, just run the action 'Show REAPER resource path in explorer' in REAPER.
- Back up your key map by exporting it, then import the provided keymap `reaper-keys.ReaperKeyMap` via the `import` button at the bottom of the action list window in Reaper. (This will overwrite your current key bindings!)
- For all the actions to work, install the [SWS/S&M](https://sws-extension.org/) extension for Reaper.When you restore your old keymap, you may want to empty the `reaper-kb.ini` in your `REAPER` root directory and restart REAPER. Otherwise, there will likely be remnants from reaper-keys.
## Help
Enter `` to show a list of available bindings you can search and filter.
![img](img/binding_list.gif)
If your stuck in a state you don't know how to get out of, you can press `` to reset back to normal.
Also,
If your key press is not being detected, try unfocusing the feedback window.
If a dialog opens saying 'script is already running in the background' just click 'remember' and 'new instance'.## Further Information
Check out the [documentation](https://gwatcha.github.io/reaper-keys) to learn more.