zsh-vi-mode icon indicating copy to clipboard operation
zsh-vi-mode copied to clipboard

Inconsistent Escape Behavior in ZVM Visual Mode

Open tummetott opened this issue 1 year ago • 4 comments

General information

Basic examination

  • [x] I have read through the README page
  • [x] I have the latest version of zsh-vi-mode
  • [x] I have tested with another terminal program

Problem description

Hello, I've encountered a recurrent issue in ZVM where unintentional entry into visual mode leads to a challenging exit process. Often, by habit, I press i aiming to switch to insert mode, but this action instead initiates the operator pending mode within visual mode. This is an expected behavior of the mode. However, the problem arises when attempting to exit from this state. Repeatedly pressing ESC does not lead to an exit from the operator pending mode. It necessitates an additional action, the w key to select a word, before ESC successfully exits visual mode.

Reproduction steps

  1. Enter normal mode: Press ESC
  2. Switch to visual mode: Press v
  3. Activate operator pending mode: Press i or a
  4. Attempt to exit operator pending mode: Press ESC

Expected behavior

Upon completion of Step 4, the expectation is to exit operator pending mode directly with the ESC key.

tummetott avatar Dec 13 '23 10:12 tummetott

i have the same problem

94kai avatar Apr 13 '24 06:04 94kai

I've had the same issue for months at this point, only just realized it was caused by this specific behavior.

johnpyp avatar Apr 30 '24 23:04 johnpyp

@johnpyp Well you found the right lines of code but uncommenting it is no solution. It is valid vim behavior to enter operator pending mode pressing v -> a or i. The problem is that ZVM does not exit this mode when pressing ESC in this state.

tummetott avatar May 01 '24 08:05 tummetott

Yeah, I just did that as a temporary patch. I tried to debug the issue but couldn't track down where the escape handling should actually happen... not familiar enough with the code / complex zsh.

johnpyp avatar May 01 '24 08:05 johnpyp