[GH-ISSUE #3576] [FR] Vim-like Bindings/Movements #1619

Closed
opened 2026-03-23 20:51:50 +00:00 by mirror · 9 comments
Owner

Originally created by @Sharkitty on GitHub (Oct 2, 2023).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/3576

Description

Adding a Vim-like bindings option to allow more powerful keyboard focused controls, and easier use for Vim and Neovim users (or anyone using these controls in other softwares).

This should, in my opinion, be disabled by default, as most users aren't familiar with Vim-like bindings, but be available as an option (probably in the Shortcuts settings?).

Impact

This would be beneficial for:

  • Vim/Neovim users who want to use AppFlowy.
  • Anyone used to Vim-like bindings integrated in other apps.
  • Anyone who wants a powerful keyboard focused workflow.

Additional Context

As someone who mainly works using Neovim, having to edit text without these controls feels awkward and slow to me. I really like what AppFlowy proposes, but my experience would be much better if I had the ability to choose what controls I'm comfortable with, i.e. vim-like bindings. I think this must be a common use case, as I see other applications doing exactly that, either as a plugin, or a feature within the app.

Originally created by @Sharkitty on GitHub (Oct 2, 2023). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/3576 ### Description Adding a Vim-like bindings option to allow more powerful keyboard focused controls, and easier use for Vim and Neovim users (or anyone using these controls in other softwares). This should, in my opinion, be disabled by default, as most users aren't familiar with Vim-like bindings, but be available as an option (probably in the `Shortcuts` settings?). ### Impact This would be beneficial for: - Vim/Neovim users who want to use AppFlowy. - Anyone used to Vim-like bindings integrated in other apps. - Anyone who wants a powerful keyboard focused workflow. ### Additional Context As someone who mainly works using Neovim, having to edit text without these controls feels awkward and slow to me. I really like what AppFlowy proposes, but my experience would be much better if I had the ability to choose what controls I'm comfortable with, i.e. vim-like bindings. I think this must be a common use case, as I see other applications doing exactly that, either as a plugin, or a feature within the app.
mirror 2026-03-23 20:51:50 +00:00
Author
Owner

@griff-rees commented on GitHub (Oct 8, 2023):

See https://github.com/AppFlowy-IO/AppFlowy/issues/3576

<!-- gh-comment-id:1751939295 --> @griff-rees commented on GitHub (Oct 8, 2023): See https://github.com/AppFlowy-IO/AppFlowy/issues/3576
Author
Owner

@annieappflowy commented on GitHub (Oct 13, 2023):

@Sharkitty , have you tried customizing your keybindings through our shortcut menu:
image
You can change the default shortcuts to your preference.

<!-- gh-comment-id:1760673161 --> @annieappflowy commented on GitHub (Oct 13, 2023): @Sharkitty , have you tried customizing your keybindings through our shortcut menu: <img width="769" alt="image" src="https://github.com/AppFlowy-IO/AppFlowy/assets/12026239/56f8d8a8-a11e-4bfe-8e41-c3fd4c09cfa5"> You can change the default shortcuts to your preference.
Author
Owner

@Sharkitty commented on GitHub (Oct 13, 2023):

@Sharkitty , have you tried customizing your keybindings through our shortcut menu: image You can change the default shortcuts to your preference.

I'm aware of that, but vim bindings work very differently, so this would not provide the expected behavior.

<!-- gh-comment-id:1761089034 --> @Sharkitty commented on GitHub (Oct 13, 2023): > @Sharkitty , have you tried customizing your keybindings through our shortcut menu: <img alt="image" width="769" src="https://user-images.githubusercontent.com/12026239/274778330-56f8d8a8-a11e-4bfe-8e41-c3fd4c09cfa5.png"> You can change the default shortcuts to your preference. I'm aware of that, but vim bindings work very differently, so this would not provide the expected behavior.
Author
Owner

@rileyhawk1417 commented on GitHub (Nov 10, 2023):

@Sharkitty I think this would need to be done within the editor. Which is a separate component of AppFlowy.
I did have some luck in getting the h, j, k, l keys working on my own fork of AppFlowy Editor. As for the extra Vim like keys well it just needs some research...

<!-- gh-comment-id:1805918443 --> @rileyhawk1417 commented on GitHub (Nov 10, 2023): @Sharkitty I think this would need to be done within the editor. Which is a separate component of AppFlowy. I did have some luck in getting the h, j, k, l keys working on my own fork of AppFlowy Editor. As for the extra Vim like keys well it just needs some research...
Author
Owner

@mrtolkien commented on GitHub (Nov 11, 2023):

Having good normal mode navigation would be great for keyboard-centric workflows!

I've been missing that in every knowledge I've tried so far (Notion, Obsidian, Loqseq, ...), and that usually makes it pretty hard to properly organize information.

<!-- gh-comment-id:1806601909 --> @mrtolkien commented on GitHub (Nov 11, 2023): Having good normal mode navigation would be great for keyboard-centric workflows! I've been missing that in every knowledge I've tried so far (Notion, Obsidian, Loqseq, ...), and that usually makes it pretty hard to properly organize information.
Author
Owner

@PeterHero commented on GitHub (Dec 30, 2023):

This issue is a duplicate of #284 which was added to the roadmap recently. You can watch progress on this feature there.
I suggest closing this issue as duplicate.

<!-- gh-comment-id:1872579105 --> @PeterHero commented on GitHub (Dec 30, 2023): This issue is a duplicate of #284 which was added to the roadmap recently. You can watch progress on this feature there. I suggest closing this issue as duplicate.
Author
Owner

@schmoelder commented on GitHub (Dec 18, 2024):

This issue is a duplicate of https://github.com/AppFlowy-IO/AppFlowy/issues/284 which was added to the roadmap recently. You can watch progress on this feature there.
I suggest closing this issue as duplicate.

Is this really true? I cannot find it anywhere in the roadmap. Please don't close this issue.

<!-- gh-comment-id:2550797711 --> @schmoelder commented on GitHub (Dec 18, 2024): > This issue is a duplicate of https://github.com/AppFlowy-IO/AppFlowy/issues/284 which was added to the roadmap recently. You can watch progress on this feature there. I suggest closing this issue as duplicate. Is this really true? I cannot find it anywhere in the roadmap. Please don't close this issue.
Author
Owner

@tasnuva1 commented on GitHub (Dec 21, 2024):

  • There should be a shortcut for going to the end of the file. For large file it's a must.
  • And For large file, scroll wile is so tiny, You can't even click it to drag it to the end, for going to the end of the file.
  • And something like gi go to input, meaning focus on the current document text.
<!-- gh-comment-id:2558258414 --> @tasnuva1 commented on GitHub (Dec 21, 2024): - There should be a shortcut for going to the `end of the file`. For large file it's a must. - And For large file, scroll wile is so tiny, You can't even click it to drag it to the end, for going to the `end of the file`. - And something like `gi` go to input, meaning focus on the current document text.
Author
Owner

@JavierLianoRioz commented on GitHub (Feb 25, 2025):

@mrtolkien

Having good normal mode navigation would be great for keyboard-centric workflows!

I've been missing that in every knowledge I've tried so far (Notion, Obsidian, Loqseq, ...), and that usually makes it pretty hard to properly organize information.

If you weren't aware, Obsidian natively supports Vim motions. You can enable them in the settings.

<!-- gh-comment-id:2683477713 --> @JavierLianoRioz commented on GitHub (Feb 25, 2025): @mrtolkien > Having good normal mode navigation would be great for keyboard-centric workflows! > > I've been missing that in every knowledge I've tried so far (Notion, Obsidian, Loqseq, ...), and that usually makes it pretty hard to properly organize information. If you weren't aware, Obsidian natively supports Vim motions. You can enable them in the settings.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#1619
No description provided.