Skip to content

Enable Ctrl+I for Italic formatting in Visual mode  #488

Closed

Description

@ah-yah

Problem

As of v2.13.2, Ctrl+I is available for Italic formatting in Insert mode, but in Visual mode it still triggers the Go Forward command.

This feels inconsistent because Visual mode already includes a formatting menu with Italic as one of the available actions. Since Visual mode is specifically used for operating on selected text, it would be more useful for Ctrl+I to apply italic formatting than to perform navigation.

Proposed improvement

Bind Ctrl+I to Italic formatting in Visual mode, matching its behaviour in Insert mode.

The Go Forward command can remain assigned to Ctrl+I in Normal mode.

Why this would help

  • Makes formatting shortcuts consistent between Insert and Visual modes.
  • Aligns the shortcut with the formatting capabilities already available in Visual mode.
  • Allows selected text to be italicised with a single shortcut.
  • Avoids an unexpected navigation action while editing selected text.

Example

Current behaviour

  • Insert mode: Ctrl+I → Italic
  • Visual mode: Select text → Ctrl+I → Go Forward
  • Normal mode: Ctrl+I → Go Forward

Proposed behaviour

  • Insert mode: Ctrl+I → Italic
  • Visual mode: Select text → Ctrl+I → Italic
  • Normal mode: Ctrl+I → Go Forward

Operating System: Linux
Desktop: Hyprland

Activity

  1. adibhanna commented on Jul 27, 2026

    @adibhanna
    Contributor

    Fixed in v2.19.0 — thanks @ah-yah, and you read the cause correctly.

    Ctrl+I in Vim visual mode now applies italic. Normal mode keeps Go Forward, exactly as you proposed.

    The collision only exists where Mod is Ctrl — Linux and Windows — because there Vim's forward jump and the italic shortcut are literally the same chord. A guard added in #373 gave that chord to the jumplist in every mode except insert, which is right for normal mode and wrong for visual: a selection is standing, every other format chord (Mod+B, Shift+Mod+S, and the rest) already applies to it, and the selection toolbar hovering over the selection offers Italic. So the one chord that navigated away was the odd one out.

    Mode Linux / Windows macOS
    Normal Go Forward (unchanged) Go Forward (unchanged)
    Visual Italic (new) Go Forward (unchanged)
    Insert Italic (unchanged) Go Forward (unchanged)

    Two deliberate limits:

    • Ctrl+O is untouched in every mode. It collides with no formatting shortcut, so there was no reason to take the jump-back away from it.
    • macOS is untouched. There Ctrl+I was never italic (Cmd+I is), so nothing collides and the jumplist keeps the chord in all modes — including visual, where Cmd+I already italicised and still does. The decision now asks whether the chord is also a format shortcut rather than assuming it, which is what keeps this from costing Mac users their jumplist for a conflict they never had.

    Verified on your platform rather than a stand-in for it. window.zen is a frozen context bridge, so the page can't be made to report a different OS; patching the built preload's platformSync to return "linux" for the run makes Mod resolve to Ctrl exactly as it does on Hyprland. With the app reporting linux: normal-mode Ctrl+I leaves the note untouched, and visual-mode viw then Ctrl+I turns Alpha bold omega into Alpha *bold* omega — where before the fix the same keystrokes changed nothing and moved me to another note.

    Two related things land in the same release, in case they're useful to you: pressing a format shortcut a second time now steps out of the span (#443), and Alt+] / Alt+[ hop the cursor across markers in any direction (#490).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions