/
09.07.2023 at 11:38 am
Cuttings

Non-Dissonant Speed Keybindings

With Sublime Text, Jetbrain IDEs, and Vim/Visual Studio Code.

As a lawyer and programmer, I use 3 text editors daily.

I cycle between these daily: Sublime Text, JetBrains IDEs, and Vim (either directly, or through plugins/extensions in Sublime/Visual Studio Code/IDEs).

Over the years I've significantly revised the key bindings of the first two to accommodate my workflow, for a pure keyboard-only/mouse-less experience.

My familiarity is such that I never have to think about my fingers at all these days. I work based on motor responses; my fingers respond to my thoughts almost as fast as I can interact with whatever's on screen. (Which is why I can't stand writing by hand anymore; it's too slow.)

Some thoughts, with consideration for muscle memory, comfort, and speed:

  1. Sublime Text - I use STX for everything in my life: writing, editing, and code, due to its powerful build system, programmable Python internals, snippets/macros/extensions, etc. My keybindings are tied to my most heavily-used packages, and to handle split cursors/motion/text segments at speed.

  2. JetBrains IDES (i.e. PyCharm/Datagrip/Clion) - for large codebases, I prefer the JetBrains suite. My keybindings there reflect STX's almost entirely, but with variations to account for the IDEs' numerous dialogs/modals, run/debug configs, editor/terminal jumps, etc. My gradual improvements have all been aimed at removing finger dissonance when context-switching.

  3. Vim / Visual Studio Code - I do a fair bit of terminal work and Bash automation with Vim. I'm not into Emacs/Nano. Unlike the heavily modded STX/IDEs, I prefer a vanilla Vim experience, with minimal packages (e.g. fzf.vim). So as to keep my Vim chops current, I use Vim keybindings entirely when running VSC.

    I confess: this decision is mostly ideological. Vim is an impervious text-editor for POSIX devices - and its keybindings are immortal. I always want Vim as a non-IDE alternative, particularly for remote work. Most importantly: I like Vim. I enjoy Vim's motions; they feel fancy. Like I'm flying everywhere.

    However, since my STX-like bindings live alongside Vim's motions in VSC, the experience can be... interesting. Things feel different. For instance:

    • CTRL+A selects all, but doesn't actually work - I still must do ggVG.

    • Certain conveniences remain accessible - e.g. CTRL/ALT modifiers for window dialogs, standard shortcuts like CTRL+S, etc, on top of Vim's :.

    • I use hyper keys for motion/navigation (particularly with the Caps Lock key, which I've rerouted via xmodmap) in addition to standard arrow keys, - and on top it, Vim's own motions.

Juggling key bindings between editors can be quite the fun exercise when you're new to them! But honestly, motor memory is a boon. Switching between bindings has never been a real hurdle, and the boost to productivity really improves my writing/coding happiness.

Filed under:
#
#
Words: 457 words approx.
Time to read: 1.83 mins (at 250 wpm)
Keywords:
, , , , , , , , ,

Other suggested posts

  1. 07.01.2025 at 11:35 pm / Mac Studio M1 Max Meets Qwen-32B
  2. 25.12.2024 at 09:54 am / Schema for Language-Learning Drillers
  3. 02.04.2023 at 01:03 pm / Witching May Die, But Not Litigation
  4. 29.03.2023 at 09:38 am / Moving Away from Todoist - to Taskwarrior, SSH & Dropbox - Part 1
  5. 07.10.2019 at 11:22 am / 3D & 2D - The Demarcation
  6. 16.12.2017 at 12:00 am / When Defying Simplicity
  7. 06.10.2015 at 08:02 am / Subservient/Servile Written Malay
  8. 11.08.2015 at 12:00 am / Proper Denials and Bare Denials
  9. 15.06.2015 at 12:00 am / Supposedly Cultivated Tastes
  10. 02.04.2012 at 12:00 am / Abstract Wall Painting
© Wan Zafran. See disclaimer.