wezterm
wezterm copied to clipboard
vim in fish shell on a remote ssh server became unreponsive
What Operating System(s) are you seeing this problem on?
macOS
Which Wayland compositor or X11 Window manager(s) are you using?
No response
WezTerm version
20241007-103714-ed430415
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
Yes, and I updated the version box above to show the version of the nightly that I tried
Describe the bug
Vim started within fish shell on a remote server is nearly unresponsive. Each action takes several seconds to perform.
Remote OS: CentOS7 (3.10.0-1127.8.2.el7.x86_64) Vim version: VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 15 2020 16:44:08) TERM=xterm fish version: fish, version 3.7.1
Why I thought this might be a problem of wezterm instead of fish or other things...
- vi, neovim runs well
- vim in bash runs well
-
fish -c vim
runs well - Another server with TERM=xterm-256color has no such problem
- can't reproduce this problem in Alacritty, iTerm2, Warp
To Reproduce
ssh myserver
[xxx@10-205-210-141 ~]$ sudo -i
[root@10-205-210-141 ~]# fish --no-config
root@10-205-210-141 ~# vim
--->
1. the welcome page shows up, vim is unreponsive to any key action
2. quickly type ':q\n' several times, after 5~10 seconds, vim quits with lots of remainder
<---
root@10-205-210-141 ~# P0+r6B3B\:q
^[P0+r4631^[\fish: Unknown command: P0+r6B3B:q
root@10-205-210-141 ~ [127]# :P0+r4631\q
fish: Unknown command: :P0+r4631q
root@10-205-210-141 ~ [127]# :P0+r4632\q
fish: Unknown command: :P0+r4632q
root@10-205-210-141 ~ [127]# P0+r2531\P0+r2638\P1+r6B62=7F\P1+r6B49=1B5B327E\P1+r6B44=1B5B337E\P1+r6B68=1B4F48\P0+r4037\
Configuration
no config, clean wezterm install
Expected Behavior
No response
Logs
Logs before ':q' shows up in vim:
23:10:49.652 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=72.746624ms
23:10:49.652 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=72.931175ms, fps=1.9139109
23:10:50.537 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k5"])
23:10:50.537 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:50.538 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:50.538 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:50.539 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=916.831µs
23:10:50.539 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.043802ms, fps=1.9979593
23:10:51.538 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k6"])
23:10:51.538 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:51.538 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:51.538 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:51.539 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=737.603µs
23:10:51.539 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=871.71µs, fps=0.99944955
23:10:52.565 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k7"])
23:10:52.565 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:52.565 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:52.565 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:52.566 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=608.795µs
23:10:52.566 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=723.989µs, fps=0.9739958
23:10:53.569 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k8"])
23:10:53.569 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:53.569 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:53.569 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:53.570 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=890.055µs
23:10:53.570 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.006217ms, fps=0.9959986
23:10:54.569 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k9"])
23:10:54.569 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:54.569 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:54.570 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:54.570 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=597.382µs
23:10:54.570 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=714.848µs, fps=0.9993247
23:10:55.597 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["k;"])
23:10:55.597 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:55.597 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:55.597 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:55.598 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=878.668µs
23:10:55.598 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=990.384µs, fps=0.9730076
23:10:56.572 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["F1"])
23:10:56.572 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:56.572 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:56.572 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:56.573 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=931.21µs
23:10:56.573 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.072006ms, fps=0.9730076
23:10:57.573 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["F2"])
23:10:57.573 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:57.573 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:57.573 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:57.574 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=867.112µs
23:10:57.574 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.028009ms, fps=1.0121635
23:10:58.574 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["%1"])
23:10:58.574 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:58.574 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:58.574 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:58.575 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=827.215µs
23:10:58.575 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.036738ms, fps=0.99897975
23:10:59.575 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["&8"])
23:10:59.575 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:10:59.575 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:10:59.575 DEBUG wezterm_gui::termwindow > NeedRepaint
23:10:59.576 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=767.207µs
23:10:59.576 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=902.366µs, fps=0.99925274
23:11:00.577 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kb"])
23:11:00.577 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:00.577 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:00.577 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:00.578 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=898.085µs
23:11:00.578 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.09318ms, fps=0.99786144
23:11:01.578 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kI"])
23:11:01.578 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:01.578 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:01.578 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:01.579 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=892.263µs
23:11:01.580 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.012066ms, fps=0.9986952
23:11:02.579 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kD"])
23:11:02.579 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:02.579 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:02.579 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:02.580 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=913.438µs
23:11:02.580 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.053163ms, fps=0.9991222
23:11:03.586 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kh"])
23:11:03.587 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:03.587 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:03.587 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:03.588 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=873.203µs
23:11:03.588 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.052995ms, fps=0.9923624
23:11:04.597 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["@7"])
23:11:04.597 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:04.597 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:04.597 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:04.598 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=607.964µs
23:11:04.598 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=727.998µs, fps=0.98990697
23:11:05.605 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kP"])
23:11:05.605 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:05.605 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:05.606 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:05.607 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=946.73µs
23:11:05.607 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.081209ms, fps=0.9917269
23:11:06.604 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kN"])
23:11:06.604 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:06.604 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:06.605 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:06.606 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=904.682µs
23:11:06.606 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.059866ms, fps=0.9917269
23:11:07.607 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["K1"])
23:11:07.607 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:07.607 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:07.607 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:07.608 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=655.5µs
23:11:07.608 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=782.122µs, fps=0.9993112
23:11:08.631 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["K3"])
23:11:08.631 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:08.632 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:08.632 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:08.633 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=716.177µs
23:11:08.633 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=852.179µs, fps=0.9756672
23:11:09.633 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["K4"])
23:11:09.633 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:09.633 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:09.633 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:09.634 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=826.723µs
23:11:09.634 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.033138ms, fps=0.9985966
23:11:10.124 DEBUG wezterm_gui::termwindow > AdviseModifiersLedStatus(SHIFT, (empty))
23:11:10.125 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.125 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.126 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=849.372µs
23:11:10.126 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.044851ms, fps=0.9985966
23:11:10.127 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.127 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.286 DEBUG window::os::macos::window > key_common: chars=`:` unmod=`:` modifiers=`SHIFT` virtual_key=41 key_is_down:true
23:11:10.286 DEBUG wezterm_gui::termwindow > RawKeyEvent(RawKeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), phys_code: Some(Semicolon), raw_code: 41, repeat_count: 1, key_is_down: true, handled: Handled(false) })
23:11:10.287 DEBUG wezterm_gui::termwindow > AdviseDeadKeyStatus(None)
23:11:10.287 DEBUG wezterm_gui::termwindow > KeyEvent(KeyEvent { key: Char(':'), modifiers: NONE, leds: (empty), repeat_count: 1, key_is_down: true, raw: None })
23:11:10.287 DEBUG wezterm_gui::termwindow > AdviseDeadKeyStatus(None)
23:11:10.287 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.288 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.288 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.289 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=853.905µs
23:11:10.289 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.038805ms, fps=0.9985966
23:11:10.290 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.290 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.290 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.290 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.306 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.307 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=899.624µs
23:11:10.307 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=1.025633ms, fps=0.9985966
23:11:10.478 DEBUG window::os::macos::window > key_common: chars=`:` unmod=`:` modifiers=`SHIFT` virtual_key=41 key_is_down:false
23:11:10.478 DEBUG wezterm_gui::termwindow > RawKeyEvent(RawKeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), phys_code: Some(Semicolon), raw_code: 41, repeat_count: 1, key_is_down: false, handled: Handled(false) })
23:11:10.478 DEBUG window::os::macos::window > key_common KeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), phys_code: Some(Semicolon), raw_code: 41, repeat_count: 1, key_is_down: false, handled: Handled(false) }) } (chars=":" unmod=":" modifiers=SHIFT)
23:11:10.478 DEBUG wezterm_gui::termwindow > KeyEvent(KeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Char(':'), modifiers: SHIFT, leds: (empty), phys_code: Some(Semicolon), raw_code: 41, repeat_count: 1, key_is_down: false, handled: Handled(false) }) })
23:11:10.478 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.479 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=750.469µs
23:11:10.479 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=961.33µs, fps=0.9985966
23:11:10.546 DEBUG wezterm_gui::termwindow > AdviseModifiersLedStatus(NONE, (empty))
23:11:10.546 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.547 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.547 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.548 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=873.081µs
23:11:10.548 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=995.088µs, fps=0.9985966
23:11:10.548 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.633 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["K5"])
23:11:10.634 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:10.634 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:10.634 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:10.635 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=775.374µs
23:11:10.635 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=963.047µs, fps=5.995953
23:11:11.125 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:11.125 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:11.125 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:11.635 DEBUG wezterm_term::terminalstate::performer > perform XtGetTcap(["kB"])
23:11:11.635 DEBUG wezterm_term::terminalstate::performer > perform Esc(Code(StringTerminator))
23:11:11.635 DEBUG wezterm_gui::termwindow > Notification(Any { .. })
23:11:11.635 DEBUG wezterm_gui::termwindow > NeedRepaint
23:11:11.636 DEBUG wezterm_gui::termwindow::render::paint > paint_impl before call_draw elapsed=709.579µs
23:11:11.636 DEBUG wezterm_gui::termwindow::render::paint > paint_impl elapsed=857.331µs, fps=0.99874604
Anything else?
No response