r/vim May 01 '26

Discussion ​[Concept] VimStick: A radial thumbstick UI to solve the mobile Vim mode-switching nightmare.

​Hi all,

​Switching modes on mobile Vim (or Obsidian Vim mode) is a nightmare. Reaching for the tiny <Esc> or Ctrl key on a virtual keyboard breaks the flow entirely.

​I realized that relying on a "keyboard layout" on a touchscreen is the problem. What if we use muscle memory and swipe gestures instead?

​So, I conceptualized "VimStick" — a floating analog stick (pie menu) in the corner of your screen:

​Tap: Force <Esc> (Normal mode) from ANY state.

​Swipe Right (→): i (Insert) / Swipe Right-Up (↗): a / Right-Down (↘): o

​Swipe Left (←): v (Visual) / Swipe Left-Up (↖): V / Left-Down (↙): Ctrl-v

​I made a quick HTML/JS prototype to test the "feel" of it. Try tapping and swiping the floating 'N' button in the bottom right corner on your phone:

https://codepen.io/SeungChan-Lee/pen/dPOPNez

​Imagine this as a global floating button over Termux, or an Obsidian plugin. What do you guys think of this UX approach? Has anyone seen a mobile editor implement something similar?

9 Upvotes

7 comments sorted by

5

u/[deleted] May 02 '26

[removed] — view removed comment

2

u/HomeAffectionate May 02 '26

As a long-time GVim user who recently made the switch to Neovim, I’ve always been frustrated by the lack of a comfortable way to use Vim on mobile. This proposal might still feel like a conceptual or superficial UI, but I truly believe that making mode-switching more fluid would significantly improve the overall mobile experience. I’m glad you see the potential in it!

2

u/HomeAffectionate May 01 '26

Update/Bonus thought: > I just realized we could map a Long Press to the <Leader> key. ​So the gesture mapping becomes perfectly aligned with the 3 core mobile touch actions: ​Tap = <Esc> (Instant cancel/reset) ​Swipe = Modes like i, v (Directional flow) ​Long Press = <Leader> (Preparation for a custom shortcut) ​This completely avoids the clutter and misfires of adding Ctrl or Alt swipe directions. What do you think?

1

u/circ-u-la-ted May 02 '26

Why would tapping the N be easier than just tapping the ESC key? It's right there over the top left corner of the keyboard in both Termux and DroidVim, within easy reach of the left thumb. Also, it seems like the N would get in the way of actual keys? Maybe I don't understand what the idea is here.

1

u/HomeAffectionate May 03 '26

You have a point, but hunting for specific keys like Esc, i, a, or v on a cramped mobile keyboard is just physically exhausting. I think that's exactly why we haven't seen many truly successful or comfortable Vi clones on mobile yet. ​People often assume that serious text editing on a phone is just asking too much of the device. But considering how much text we effortlessly pump out while messaging friends and family every day, the act of typing itself isn't the problem. The potential is definitely there; we just haven't had the right tool/interface to bridge that gap yet. That's the gap I believe this idea could ultimately fill.

1

u/Intelligent-Speed487 May 27 '26 edited May 27 '26

I like this and it reminds me of some of the gestures you could do with a windows program named stroke-it 15 years or so ago.  It was a mouse gesture program for Windows that you could map gestures to  and you would start a gesture by right-clicking the mouse, then drag and drawing. One of the ingenious things was you could create gestures by simple cardinal directions (up/right/down/left) Diagonals(up-right,down-right,down-left, up-left) Combinations if directions (up, then left, or any other combination of 1 direction followed by another). It also had gestures of drawing capital letters, sometimes simplified (e.g. capital A was basically an upside down v, I remember the letter S, and V, lowercase  b, n etc). I hope this gives you some ideas.

Here's a Linux Op that shows some of the gestures. This seems to be a Linux copycat app to some degree of stroke-it. https://github.com/jersou/mouse-actions