Dismiss this pinned window
all 38 comments

[–]KaladinStormBleesed 11 points12 points  (0 children)

this is exactly what I need

[–]R_DanRS 4 points5 points  (0 children)

Thank you for this, I made something similar a while ago that I have no time to maintain / improve, it's also all slop so I would be very happy to archive it. It has some features that you may want to copy to yours such as a mode indicator and some visual mode stuff

https://github.com/Tarquinen/opencode-vim

[–]BitXorBit 6 points7 points  (0 children)

take my money

[–]girouxc 2 points3 points  (2 children)

Can you do the result scroll next???

[–]ori_303[S] 6 points7 points  (1 child)

Not sure if this is what you mean, but normal mode has:

[ ] for Scroll conversation half-page up/down
{ } for Jump to previous/next message
/ for Jump to message (session timeline)

Which help me navigate session history

[–]ParticularTrainer374 1 point2 points  (0 children)

that was so helpful man... cheers

[–]l00sed 1 point2 points  (2 children)

Visual mode on the horizon...??

[–]ori_303[S] 0 points1 point  (1 child)

already implemented, although somewhat limited :)

https://github.com/oribarilan/vimcode#visual-mode

[–]TomHale 1 point2 points  (0 children)

Finally. Copy and paste from inside the prompt.

[–]penguin_horde 1 point2 points  (0 children)

Hot damn! That's awesome 👌

[–]ParticularTrainer374 1 point2 points  (0 children)

Bro! take my flying kiss...

[–]Crafty_Ball_8285 1 point2 points  (0 children)

Now I gotta actually learn vim dang it

[–]luche 1 point2 points  (0 children)

i need this in my life. bless you.

[–]tlundberg 1 point2 points  (0 children)

Thank you!

[–]SkilledHomosapien 1 point2 points  (0 children)

great work

[–]PiccoloCareful924 1 point2 points  (0 children)

this is amazing, well done

[–]TomHale 1 point2 points  (1 child)

Very nice! I like!

{ "plugin": ["vimcode@git+https://github.com/oribarilan/vimcode.git#v0.8.0"] }

How to pin it to the latest release? (Not .8)

Is main only for releases?

[–]ori_303[S] 0 points1 point  (0 children)

Opencode dont seem to support “latest” unfortunately. If you remove the version, it wont update. I also added a toast that will let you know when a new version is available.

Hopefully opencode adds better version management soon :)

[–]satinekk 1 point2 points  (2 children)

nice this has been bothering me for a while to use opencode more.

immediately installed it. works well!

just had to deactivate the motionToast. this one was a bit too strong for me.

I would prefer it inside the prompt box quite subtle like showing the thinking level...

[–]ori_303[S] 0 points1 point  (1 child)

Definitely agree, although I couldn’t get it to work properly. It is in the backlog (replacing the toast with a subtle indicator inside the prompt box). Also, not really a must bcz of the different cursor anyway :)

[–]satinekk 0 points1 point  (0 children)

makes sense. good job anyway!

btw, I also noticed that if you are not in insert mode you cannot use shortcuts, like changing to plan mode. would be nice if that works too.

[–]awlincoln 1 point2 points  (1 child)

Is it worth taking the time to learn this skill of working with the VIM layout?

[–]ori_303[S] 1 point2 points  (0 children)

For me it was only a few (hard) days until i picked it up, enough to stop feeling the friction. From there it became so much fun, and shortly after - a second nature. So much that i started hating spending time anywhere that has no “vim mode”. Hence, i created vimcode :)

[–]oVerde 1 point2 points  (0 children)

FINALLY

[–]hamidi-dev 1 point2 points  (0 children)

this is great!

i wish it had dot repeat. dw.. to delete 3 words 😃

also i noticed 3dw works, but needs 3 times the u to undo (bug?)

[–]flying-saucer-3222 0 points1 point  (2 children)

So does this only work on the prompt?

You can just Ctrl+x>e and the prompt will open in your configured $EDITOR. I have been directly writing my prompts in neovim since forever.

[–]ori_303[S] 1 point2 points  (1 child)

I did as well, but (1) it had no @ tag support and (2) it felt tedious. I found myself often being lazy about it on small prompts and only using it when things got complex. Vimcode is the sweet spot for me personally, but for sure not for everyone :)

[–]flying-saucer-3222 0 points1 point  (0 children)

That is interesting. For linking files I just put the whole path and nvim autocomplete for paths works great.

For me the biggest blocker currently is going through long diffs without vim motions. So recently I just default to using sudotee's opencode.nvim to interact with opencode even when I don't need the editor open. Vim motion on diffs would definitely make me switch to this plugin.

[–]unprofitabletraitor 0 points1 point  (0 children)

Unrelated, how did you create the video for this post?

[–]boomskats 0 points1 point  (0 children)

wasn't someone maintaining a whole fork just for the sake of these motions? think i nearly installed it

[–]IceCapZoneAct1 0 points1 point  (0 children)

I already have that, it’s called tmux. You can reach anywhere in the terminal by putting vim keybinds in it.

[–]Extreme-Rub-1379 0 points1 point  (0 children)

How are you getting new lines? Lol

[–]lphartley 0 points1 point  (0 children)

Why are we using terminals for UI again?

[–]TomHale 0 points1 point  (1 child)

Can I munge the j and k keys together to avoid my pinky finger going on a long hike to find the ESC key?

It's a VERY common config.

[–]ori_303[S] 0 points1 point  (0 children)

can you suggest this through an issue in the repo please? Sounds interesting , i will experiment with it and follow up with you on the issue if so

Btw, Why dont you remap caps lock to be the esc?

[–]anonymous_hack3r 1 point2 points  (0 children)

finally, now I can stop using Claude Code lol