Skip to content

Conversation

@pk-vishnu
Copy link

@pk-vishnu pk-vishnu commented Nov 24, 2025

Adds Vim-style navigation and editing to the ChannelTextArea, and a toggle to choose whether j/k scrolls the chat or moves the cursor.

  • Cursor movement: h, l, j, k, w, b
  • Full-text motions: gg, G, 0, $
  • Word text objects: iw, aw
  • Line actions: dd, yy, cc, o, f/F<char>
  • Edit commands: d, c, x, u
  • Clipboard: y, p, P
  • Case toggle: ~
  • Mode switches: i, Esc, v
  • Search messages: /
  • Quick switcher: go

All commands support counts (5w, 3~ etc) and work across multiple lines (uses Slate’s editor API directly)
A small status bar shows mode, count, and pending keys.

Modes:

  • NORMAL for motion + editing
  • INSERT for typing
  • VISUAL for selecting with motions

This should provide a foundation for expanding more Vim features over time

VimMode.mp4

@pk-vishnu pk-vishnu changed the title feat:(plugin): Vim Mode feat(plugin): Vim Mode Nov 25, 2025
@pk-vishnu pk-vishnu changed the title feat(plugin): Vim Mode feat(plugin): VimMode Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant