New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some vi key bindings will not work after running lazygit
#7853
Comments
After running lazygit in Terminal.app, even without vi bindings, fish is not behaving normally. Pressing right arrow works the first few times, then starts spitting No differences in the |
This is curious. Some one is configuring fish as the receiving process for signals when some fd becomes readable (via No file descriptor in the fish process has |
If fish launches a program and that program marks stdin as O_ASYNC, then fish will start receiving SIGIO events on Mac. This occurs even though the file descriptor itself does not have the O_ASYNC flag set. SIGIO is reported as interrupting select which then breaks multiple-key bindings, especially in vi-mode. As the SIGIO based universal notifier is disabled, remove it and the SIGIO handler itself. This allows fish to ignore properly ignore SIGIO. Fixes #7853
Many thanks! |
Thanks for the awesome work. BTW, I upgraded Lazygit to the latest release(v0.27), which replace termbox package with tcell, and the issue seems have gone. |
Fish Version:
fish, version 3.2.1
Operating System:
MacOS 10.15.7
Darwin MacBook-Pro.local 19.6.0 Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 x86_64
Terminal:
iTerm2 build 3.4.4
xterm-256color
config.fish:
functions/fish_user_key_bindings.fish:
Steps to reproduce:
Before running lazygit, all vi key bindings work as expected. But after running lazygit, some vi key bindings will not work:
cw
,dw
: just moving the cursor to the beginning of the next word, no characters will be deleted.jk
: just outputting thejk
rather than switching to normal mode. But if pressj
only, nothing will appear, it seems fish is still waiting the subsequent input.The text was updated successfully, but these errors were encountered: