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

Slow on 'J' in NORMAL mode

Open piejanssens opened this issue 1 year ago • 1 comments

General information

  • Terminal program: iTerm.app 3.4.20 (xterm-256color)
  • Operating system: macOS 13.5.1 (22G90)
  • ZSH framework: starship 1.16.0
  • ZSH version: zsh 5.9 (x86_64-apple-darwin22.0)
  • ZVM version: zsh-vi-mode 0.10.0

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

Using ZVM_VI_ESCAPE_BINDKEY=jj

Reproduction steps

  1. Press 'jj' to enter NORMAL mode
  2. Press 'k' a number of times to navigate back/up in the history
  3. Press 'j' to navigate down/forward in the history and notice a delay

Expected behavior

'j' should be as fast as 'k' It seems that in NORMAL mode there is a delay after pressing 'j' perhaps because it's waiting if 'j' is pressed again within a certain timeframe (ZVM_VI_ESCAPE_BINDKEY). I would think that this is only necessary in INSERT mode to escape it.

piejanssens avatar Aug 30 '23 12:08 piejanssens

Hi @piejanssens

Thanks for your issue. When you change the escape bindkey of normal mode to jj, it will make a common prefix of j, for j and jj, that's why the readkey engine needs to wait for a specific time ZVM_ESCAPE_TIMEOUT which is 0.3 seconds by default to accept next keystroke, by this way, it can confirm which function the user actually wants.

Thanks & Regards

jeffreytse avatar Sep 15 '23 09:09 jeffreytse