Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vim mode #405

Open
13 tasks
tomlin7 opened this issue Oct 10, 2024 · 0 comments · May be fixed by #452
Open
13 tasks

Vim mode #405

tomlin7 opened this issue Oct 10, 2024 · 0 comments · May be fixed by #452
Assignees
Labels
enhancement New feature or request good first issue good for newcomers help wanted Extra attention is needed layout Related to biscuit layout suggestions needed bugs/features that are still not figured out and need solution suggestions text editor Related to text editor's features

Comments

@tomlin7
Copy link
Owner

tomlin7 commented Oct 10, 2024

Feature

As many code editors now come with built-in Vim mode, it would be a great enhancement to add this feature to Biscuit.
This issue will address only the basic steps of implementing Vim mode.

🚧 As this is a large feature, individual issues/pr shall be opened for individual parts of this feature.

Suggestions needed on following

We aim to create something bit different from existing vim mode plugins of editors

  • where to show the current mode? status bar, title bar, or somewhere else?
  • where to show the command line?

TODO

  • toggle vim mode via settings, keyboard shortcut, welcome page, or command palette
  • normal, insert, visual, and command modes indicator

Normal mode

  • h, j, k, l for navigation
  • beginning of the file: gg, end of file G
  • dd (delete line), yy (yank line), p (paste)
  • u (undo), ctrl-r (redo)
  • x (delete), dw (delete from cursor to word end), diw (delete word under cursor), cw (cut from cursor to word end), ciw (cut word under cursor)

Visual mode

  • select text with v or mouse
  • line selection with V

Insert mode

  • i (insert), I (insert at line start), a (insert after cursor), A (insert at line end), o (insert in new line), O (insert in new line above)
  • esc to go back to normal mode.

Command Mode (:)

  • :w (save), :q (quit), :wq (save and quit)
  • goto line :64
@tomlin7 tomlin7 added the enhancement New feature or request label Oct 10, 2024
@tomlin7 tomlin7 self-assigned this Oct 10, 2024
@tomlin7 tomlin7 added layout Related to biscuit layout text editor Related to text editor's features help wanted Extra attention is needed good first issue good for newcomers suggestions needed bugs/features that are still not figured out and need solution suggestions labels Oct 10, 2024
@tomlin7 tomlin7 pinned this issue Oct 28, 2024
tomlin7 added a commit that referenced this issue Nov 3, 2024
@tomlin7 tomlin7 linked a pull request Nov 3, 2024 that will close this issue
@tomlin7 tomlin7 linked a pull request Nov 3, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue good for newcomers help wanted Extra attention is needed layout Related to biscuit layout suggestions needed bugs/features that are still not figured out and need solution suggestions text editor Related to text editor's features
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant