Old 01-24-2017, 04:59 AM   #1
ambi
Human being with feelings
 
Join Date: Feb 2012
Posts: 38
Default Vimper: Modal keybindings for Reaper

Based on http://forum.cockos.com/showthread.php?t=32654 I made a small attempt at creating vim-like bindings for Reaper.
The result is called vimper and is here: https://github.com/ggVGc/vimper

This thread can be used to throw ideas of improvement around, share bindings, getting my attention, or whatever else vimper related.

If there are concrete suggestions, I would prefer them to make it into the issue tracker on github, and if anyone has lua knowledge and wants to make additions I welcome pull requests.
ambi is offline   Reply With Quote
Old 01-24-2017, 06:10 AM   #2
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 9,371
Default

Hi,

I noticed the other thread you linked to when this began but to be honest, as I'm not familiar with "Vim" I couldn't quite figure what it's about and how it works.

For example I don't know what "modal input sequences" (from the Github page) are.

So what I want to say, I think maybe a basic introduction for those not familiar with Vim what this is about, a screencapture showing it in action, might be helpful introducing it (well for me at least, but maybe I'm the only one here who's dumb ).

Thanks.

Last edited by nofish; 01-24-2017 at 06:35 AM.
nofish is offline   Reply With Quote
Old 01-24-2017, 08:03 AM   #3
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 372
Default

Need some help with this.

Readme file says:
# Usage
* Put this repository in your `Scripts` directory
* Import the keymap `keys.ReaperKeyMap`. BACKUP YOUR KEYMAP FIRST. This will overwrite any mappings you have for letters and numbers.

So I did this, and copied example_bindings.lua to required location, renaming it to vimper_bindings.lua.

Now how to use this? Keys need to be pressed repeatedly? Or combinations of keys? I read: "...based on modal input sequences rather than key chords, and repetition counts for actions. Shortcuts are mapped to Lua functions, each taking a count as argument. "

Do not understand. What buttons to press?
sonicowl is offline   Reply With Quote
Old 01-24-2017, 08:55 AM   #4
ambi
Human being with feelings
 
Join Date: Feb 2012
Posts: 38
Default Better documentation

I understand several people will have trouble understanding how to use this initially. The documentation should definitely be improved.
In short modal input means that instead of pressing combinations of keys to trigger actions, like "ctrl-alt-x", you press a sequence of keys.
The reason it's called "modal input" is that each key you press can be seen as going into a "mode". For example, if you have the sequence "tnm" mapped to creating a new midi item, you could read the sequence as "Track New Midi". And it's easier on your fingers since you can type "tnm" rather than holding down three keys at once.

I would like to improve the Readme on the github page, but I'm a bit short on time, and also I'm not sure I can express it in a good way.
If anyone feels they can write a good introduction to this tool, I would very much appreciate it and add it to the readme.
ambi is offline   Reply With Quote
Old 01-24-2017, 09:15 AM   #5
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 372
Default

OK, I get it a bit. I tried 'gg', and it goes to beginning. But 's' in my case selects items on next track.

But my Play with 'Space' is not working anymore. I exported my keys before. If I import them back, they overwrite Vimper keys.

How to get back standard keys like 'space' for play, or 's' for spliting items or 'ctrl+a' for selecting all?

Last edited by sonicowl; 01-24-2017 at 09:24 AM.
sonicowl is offline   Reply With Quote
Old 01-24-2017, 09:33 AM   #6
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 372
Default

Ah, I see, Vimper partially takes over. From old shortcuts I have only those which Vimper didn't map: F1-12 function keys, CEDILLA and Ctrl+Shift and Ctrl+Alt+Shift, and some others.

It confused me a bit because some old shortcuts were still working.
sonicowl is offline   Reply With Quote
Old 01-30-2017, 03:04 AM   #7
RCJacH
Human being with feelings
 
Join Date: Apr 2016
Location: Beijing, China
Posts: 164
Default

I made another version of Vimper, it initiates on one key ( and goes into series of key groups rather a set key strings for better categorizing and visualization.

GUI is only for indication of which keys are mapped under the current group.


RCJacH is online now   Reply With Quote
Old 01-31-2017, 12:24 AM   #8
RCJacH
Human being with feelings
 
Join Date: Apr 2016
Location: Beijing, China
Posts: 164
Default

Here's a demo. Download all files and place them in the same folder.
Load "Vimper Solo.lua".

https://github.com/RCJacH/ReaScripts.../Vimper%20Solo


I haven't completed bindings since it's quite time consuming.
Well, it's a start.

Personally, I would like to have single key inputs reserved for common tasks such as copy/paste/solo/mute and such, thus it's quite difficult to use the default vimper when all the keys are taken. Plus I would like to know what key I've already pressed just in case I mispressed something that would trigger an undesired action.

The problem is that reascript has to be in focus to detect key switches, but it works for simple stuff I guess.

Currently the script remembers the last group your action belongs to.
Use "Backspace" to return to previous group.

I can make another sub-script to re-trigger the last action.
RCJacH is online now   Reply With Quote
Old 02-02-2017, 10:55 AM   #9
RCJacH
Human being with feelings
 
Join Date: Apr 2016
Location: Beijing, China
Posts: 164
Default

Made an update:
Added repeat last triggered command (by key press, so if you changed the binding, you recall the new action).
Record last action by key character rather than their ASCII number so it makes less writing to disk.

I tried to incorporate control, alt keys into combination but couldn't figure out how.
I'll post in JSFX section for that later.


Same address:
https://github.com/RCJacH/ReaScripts.../Vimper%20Solo
RCJacH is online now   Reply With Quote
Old 02-22-2017, 06:39 PM   #10
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,315
Default

@ambi, @RCJacH
Could you please post a GIF demo of all this ? :P
X-Raym is offline   Reply With Quote
Old 02-23-2017, 01:34 PM   #11
galaxy_beef
Human being with feelings
 
galaxy_beef's Avatar
 
Join Date: Oct 2016
Location: Georgia
Posts: 46
Default

I really need to up my vim game for work related tasks.. This might be the thing that convinces me to really learn it haha. Very cool idea!
__________________
Computer Specs: GA-Z87X-UD3H LGA | i7 4770k | 16G Ram | EVGA GTX 1070 | 2x 250G SSD | 7200 3TB
Interface: Focusrite Saffire Pro 40 (Firewire) | My Recordings
galaxy_beef is offline   Reply With Quote
Old 05-20-2017, 08:13 AM   #12
OyTheBilly
Human being with feelings
 
Join Date: Jan 2016
Posts: 17
Default

I love vi/vim and use gvim all the time for editing. But I'm a relative newcomer to REAPER. Just saw this thread and haven't had time to really go through it in detail, but I wish you the best on getting this to work!
OyTheBilly is offline   Reply With Quote
Old 05-20-2017, 11:31 AM   #13
Luster
Human being with feelings
 
Luster's Avatar
 
Join Date: Nov 2015
Posts: 572
Default

It's not the same but the Radial Menu got shortcut support since a while. I know it's not the same but anyhow - in case someone in here isn't aware.
Luster is offline   Reply With Quote
Old 02-03-2019, 04:38 AM   #14
jeeruff
Human being with feelings
 
Join Date: Feb 2011
Location: berlin
Posts: 8
Default

its an awesome idea!
jeeruff is offline   Reply With Quote
Old 12-26-2019, 06:09 AM   #15
pflores
Human being with feelings
 
Join Date: Dec 2019
Posts: 2
Default help with viper

Hi there,
hope someone is able to help.

I'm new to Reaper and very interested in implementing hotkey customisations with Reaper.

I've been reading this and associated threads about extending the possibilities of using hotkeys with Reaper quite bit. So I can see the great potential of using Vimper.

However, I don't have a clue about how this actually works!!

I have read the mini instructions [Usage notes] several times but I still don't have a clue.
I am not even sure if I have installed Vimper properly.

Where should I put the Vimper's folder exactly?

'Set up your mappings in `vimper_bindings.lua` in your REAPER user directory....'

I can't understand any of this..
Where do I supose to find the vimper_bindings.lua file in the first place?
Where's my Reaper User directory???

Please Help!

Nevetherless, if someone could help me or let me know if I already can do the following with Reaper would be amazing:

USE OF HOTKEYS AS GLOBAL MODES

For example, I would really like to use sequences of hotkeys to initiate a Modal Global Functions like:

Select
Solo
Mute
Level
Pan
FX Send 1
FX Send 2
Track Bank 1
Track Bank 2
etc

followed always by a Function Key (F1 to F10) to indicate the individual or multiple track numbers of my choice where I want to apply my initial Global function (Solo, Mute, etc.) .

So let's imagine:

I press 'S' followed by 'F1' to Solo Track 1
I Press "S' followed by 'F10' to Solo Track 10
I press 'S' followed by 'F1' followed by 'F5' followed by 'F9' to Solo Tracks 1, 5 and 9
I press 'S' followed by '1' and then followed by F1 to Solo Track 11

and so on and so forth..


I would be very grateful if someone can share any insights on this..

Cheers!

p.
pflores is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:51 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.