Create extension to customize vim bindings in replit

Describe your Extension idea
Would love to create an extension that accepts a vim-settings.json file where you can customize your own bindings. An example would be keymap.set(“i”, “jk”, “Esc”)

What problem(s) would this Extension solve?
If you want to type and code quickly and are used to using vim, it can be difficult to go back to having the preset vim bindings. This would be a cool way to help bridge the gap between vim/neovim users and replit.

Explain what you were trying to do when you came across the problem leading to this Extensions request
I enabled the vim bindings, but it wouldn’t behave as I was used to. I noticed sometimes even when I hit it doesn’t take me out of insert mode. Would be nice to have something that gives you control over how vim is behaving in replit.

4 Likes

Why not just use the actual vim program in a shell? Is there a difference? (I’ve never used vim willingly, so I don’t know much about it)

2 Likes

Then you would miss out on the ghostwriter, linter, predictive text, etc. that replit provides in the IDE. It would basically be identical to the plugin that VSCode provides Vim - Visual Studio Marketplace

2 Likes

Replit extensions currently can’t execute JS or anything (they just run in an embed and can use APIs), so they can’t do most things that vscode extensions can.

2 Likes

Hmm maybe this would be a better extension to have down the road as the extensions product is expanded more

2 Likes

For once, I think extensions aren’t a product (although they may eventually be), but rather a gift to Replit’s users.

2 Likes

I think eventually the idea is you will be able to charge for them if you want… :man_shrugging:

2 Likes

extensions feature lol

2 Likes

Cool idea, i’ve been meaning to brush up on my vim if the extension gets made i’ll be able to easily

1 Like

I really needed this. Feel like going back to VS code now. I will come back to Replit, when vim keybindings becomes an option.

2 Likes

You can modify the keybindings in the settings of a repl, there’s def a way to do it doing json with Replit’s apis, but idk.

3 Likes

I’d love this for JetBrains mapping.

1 Like

tbh, vim contradicts with many browser and commonplace keyboard shortcuts (press i to enable editing mode, which is counterintuitive for a browser-based editor, and “:” key to use shortcuts which wouldn’t make sense, and using ctrl [or cmd on mac] as a replacement would interfere with browser shortucts, such as ctrl w for closing a tab and :w for writing a file.)

2 Likes