⚡️ Ideas
Adame Moustaine Adame Moustaine Mar 27, 2024

Why the Vim Update is CRITICAL

Explain the problem as you see it

The problem, as I see it, is that the lack of Vim key bindings in Tana poses a significant challenge for a critical segment of the platform's target user base - the power users who have deeply integrated the Vim workflow into their daily productivity routines.

For these users, Vim is more than just a text editor; it's a way of working that has become ingrained in their muscle memory and cognitive processes. The modal editing system and extensive keyboard shortcuts of Vim allow them to navigate, edit, and manipulate text with unparalleled speed and precision. This efficiency is a core part of their productivity, and they are unlikely to compromise on it.

Without the integration of Vim key bindings, these power users are forced to either relearn a new set of shortcuts, which can disrupt their established workflow, or seek alternative solutions that better align with their preferred tools and methods. This can lead to frustration, decreased productivity, and potentially the loss of these users to competing platforms.

Moreover, the absence of Vim support can be a significant deterrent for prospective users who are already familiar with the Vim editing system. These power users are often highly discerning and may simply opt for other productivity tools that cater to their specific needs and preferences.

In essence, the problem lies in the fact that Tana, as a platform aimed at power users, is currently missing a critical feature that is essential for a sizable and influential segment of its target audience. Addressing this gap by implementing Vim key bindings would not only enhance the user experience for existing Vim users but also open the door to attracting new power users who value efficiency and customization above all else.

Why is this a problem for you?

Without Vim support in Tana, I would be forced to either relearn a new set of shortcuts, which would disrupt my established workflow, or seek alternative solutions that better align with my preferred tools and methods. This would be a frustrating and time-consuming process, ultimately hindering my ability to fully leverage the capabilities of the Tana platform.

Moreover, as a discerning power user, the absence of Vim key bindings could be a deal-breaker for me when it comes to choosing a productivity tool. I am highly selective about the applications I integrate into my workflow, and I am unlikely to compromise on features that are essential to my efficiency and effectiveness.

By implementing Vim key bindings, Tana would not only meet my needs but also demonstrate a deep understanding of the preferences and requirements of its power user base. This would solidify Tana's position as a premier productivity tool that caters to the specific needs of users like myself, who value customization and efficiency above all else.

Suggest a solution

To integrate Vim keymaps in Tana, I propose a system inspired by the Linear app's workflow, which seamlessly blends modal editing with node navigation for enhanced productivity and ease of use.

  1. Normal Node Mode: In this mode, users can navigate between nodes, expand or collapse them, and perform other node-related actions using Vim key bindings. Pressing Escape in Normal Node Mode will smoothly transition the user to the parent node, allowing for intuitive navigation within the hierarchy.

  2. Insert Mode: Upon selecting a specific node, users can enter Insert Mode to input or edit text within that node. This mode enables users to focus on content creation without distractions. Pressing Escape in Insert Mode will seamlessly return the user to Normal Node Mode, preserving the context and structure of the nodes.

By implementing this Vim keymap integration approach in Tana, users can leverage familiar Vim commands to efficiently navigate through nodes, edit content, and manage their information flow seamlessly. This system not only enhances user experience but also caters to the needs of power users who rely on Vim's efficiency and precision in their daily workflows.

⁨2⁩ ⁨Comments⁩

Kinda + to it, but I found a workaround — global Vim shortcuts to navigate through Tana with at least some breeze.

  • Caps → Ctrl for easy Ctrl+ shortcuts
  • Ctrl + HJKL → Arrows for navigation. This way I can both navigate and easily use Tana shortcuts (e.g. Expand node is Cmd+Ctrl(which is on Caps)+J

Here's my Karabiner-Elements (Mac) configs for this.
caps+hjkl to arrows.json
cmd to birman.json