VS Code motion extension just like leap.nvim and other similar projects, named after the JMP Instruction.
MIT License
VS Code motion extension inspired by leap.nvim and other similar projects. Named after the JMP assembly instruction.
If you would like to support my work or this project, you can do so on https://ko-fi.com/jaimeloeuf/ thank you!
Allows you to jump to anywhere within the visible editor using keystrokes by specifying the first 2 characters after the cursor point where you want to jump to followed by the generated labels.
Cmd+e
for Mac and Alt+e
for Windows/Linux to trigger the command.enter
to jump there without typing in the rest of the label.backspace
. This will reset the whole search process and empty your search string. However since the labels are deterministic for the same search string, you can just type in the right thing without having to wait and see what is the generated label.jmp.jumpOnFound
false
.
so
as the word and the tag is ff
, you will see soff
during the targetting process, and you will just type it out soff
, it will be abrupt if it jumps immediately after you type so
when you already expected to type ff
too and more often than not, you are likely to still type ff
, causing it to be typed into your editor instead of being consumed as the selected label.jmp.centerOnJump
false
.
jmp.startLabelWithHomeRowChars
Enter
to jump directly.true
.
Initial release of jmp
Create an issue or fork this project! For bug fixes or feature requests, please create an issue first so that I know you will be working on it, and wait for an approval that any potential contributions will be merged in as I do want to keep this extension lean and simple to make it faster.
Steps to build:
npm install
to install dependenciesnpm run watch
to watch for source changes and compile using TSCvsce package
Here are some alternatives to this extension. The biggest difference being that this extension will show the labels from the first keystroke instead of the second, so you can see the labels earlier and type them out faster. The other thing is that the labels are stable meaning if you delete the inputs and try again when you type wrongly, it will show the same labels again instead of a new one that you have to read and type.