I found ViEmu, which allows you to use Vim key bindings in Visual Studio and certain Office applications. Does anyone know of similar software for using Vim key bindings in Microsoft Onenote? Free or Open Source is a plus, but any options would be appreciated.
Vim-Keybindings-For-Onenote brings the power of VI to onenote via an AutoHotkey plugin.
The plugin has many of the common key bindings, including the folding commands to help manage OneNote lists.
Some advanced key bindings (e.g. 5dfa) are not implemented, but if there are keybindings you'd like added, the author (that's me), will help as he can.
I do know the shortcuts for OneNote, but you don't understand the level of data processing, the volume of content/text processing that even a newbie VIM user outpaces... you.
Not every application interface can or should support a VIM-style interface
Although this is true, the users that made comments pointing out this obvious fact are totally missing the point. The point that they are missing is that there is a level of productivity and efficacy that information workers achieve when they can keep their hands on the keyboard constantly.
Consider a developer; fundamentally they operate within a text editor as source code is created or maintained. Maybe a few emails are written too. Hopefully, ample documentation for the codebase is also created and maintained. Believe it or not, the time that it takes to move a hand from the keyboard to the mouse adds up to be significant over the course of a day.
Sure, GUI applications have shortcuts too. You're still missing the point. VIM's interface provides complex and flexible functionality while requiring the minimal amount of keystrokes.
OneNote's disgustingly obese interface and running process profile aside; M$ is generally pretty good about having standard/consistent shortcuts across all apps. Consistency is important and so give Bill his due credit there, but consider this: what is/are the keyboard keystroke(s) required to repeat the last atomic editing action in OneNote or Word? The minimum is one 3-key combination (highlight last word) followed by two 2-key combinations (Copy then paste).
- Task: modify the word "int" to "void" for the beginning of several functions.
- Given: Each line to be modified has the form \t\tint someFunction(void);
- Given: You have just replace "int" with "void" for the first function
- Given: You need to repeat this action 5 more times.
*Assume: the word being replaced is highlighted (i.e. selected as a whole), then "v-o-i-d" is typed, and then...
1) Ctrl+Shift+ to select the last inserted word 2) Ctrl+C *to copy the word; 3) We'll ignore keystrokes to move to the next position, for simplicity, putting the cursor in front of the "i" character in the word being replaced. 4) Ctrl+Shift+ to select the next word to be replaced 5) Ctrl+V to overwrite the selected word with "static" 6) Repeat steps 3-4 for all of the required modifications.
To accomplish the same task in VIM
*Assume: the word being replaced is selected as a whole (via visual mode or the "cw" sequence), then "v-o-i-d" is typed, and then...
1) We'll ignore keystrokes to move into the next position putting the cursor on the "i", the first character, in the word being replaced. 2) "." *to duplicate the last edit action, which was "v-o-i-d" 3) Repeat steps 1 & 2
When you are spending 8 to 10 hours in a text editor each day the VIM style interface adds up considerably to enhance productivity. That was a contrived example above, but you should realize that switching between files, viewing two files at once in the same GUI or shell, saving changes, and exiting the editor back to a terminal prompt (or back to the top-level app if not using a terminal)... all of these actions are done with similar minimalistic and simple key combinations.
To Save and Quit:
VIM: 1) "wq" 2)
OneNote: 1) Alt+f 2) s, 3) Alt+f 4) x
Oh, I'm not done
What do you mean you can define a macro or complex series of steps, bind it to a key, and then execute that complex series of steps repeatedly (e.g. A VIM macro like "10 @i" would execute the macro bound/identified by the "i" key 10 times in a row). That can be done 100, 1000, a 100,000,000 times without any trouble at all.
Not a very helpful answer, but seriously now people - not every application has a Vim oriented key bindings. They are a different app.
If it helps, here is the list of Onenote shortcuts
I tried ViEMU, but ultimately was unsatisfied. After that I discovered VisVIM. If I recoall, ViEMU didn't implement large portions of VIM functionality.
Simply follow the instructions found in the %VIMFILEs%\README_VisVim.txt document that is installed along with the standard GVIM installation package for Windows.
I think GlobalVim is a perfect answer to this question.
GlobalVim has many features of vim and can work across all input situations. Registers, macro-recording, pattern replacement, and python expression evaluation...
I love this tool so much.
I'm looking for the same thing with Emacs-style key-bindings (gotta love vi/emacs). Anyway I've got key bindings working in MS Word (for emacs that is), and have to believe something similar exists but I've just started using OneNote.
My next step is to look for .NET or VBA control over OneNote. That'll be the key to controlling OneNote using the key bindings you prefer (or that's my best guess).
I use the excellent https://github.com/rcmdnk/vim_ahk library which is currently being maintained (April 2020).
I use the https://github.com/ililim/dual-key-remap C app to remap CapsLock, as I found that using an Autohotkey script caused issues.
And I've blogged about my experiences here: https://davemateer.com/2020/04/10/OneNote-with-Vim
Using Vim in OneNote makes me very happy!