This issue is neither related with nor caused by Sublime Text.
This issue was introduced by Fish 4.0.0.
fish sends an escape sequence \x1b[=5u
, which is not recognized and thus passed through as “5u” by pyte python package used by Terminus to communicate with terminal backends.
It appears to be related with https://github.com/selectel/pyte/issues/141.
According to https://www.man7.org/linux/man-pages/man4/console_codes.4.html \x1b[=
and \x1b[>
don’t seem to support further arguments such as 5u
.
And here’s the related Fish issue:
According to Fish Changelog:
-
fish now requests XTerm’s modifyOtherKeys
keyboard encoding and kitty keyboard protocol's <https://sw.kovidgoyal.net/kitty/keyboard-protocol/>
_ progressive enhancements (:issue:10359
).
Depending on terminal support, this allows to binding more key combinations, including arbitrary combinations of modifiers :kbd:ctrl
, :kbd:alt
and :kbd:shift
, and distinguishing (for example) :kbd:ctrl-i
from :kbd:tab
.
Additionally, bind
now supports a human-readable syntax in addition to byte sequences.
This includes modifier names, and names for keys like :kbd:enter
and :kbd:backspace
.
For example
-
bind up 'do something'
binds the up-arrow key instead of a two-key sequence (“u” and then “p”)
-
bind ctrl-x,alt-c 'do something'
binds a sequence of two keys.
Any key argument that starts with an ASCII control character (like \e
or \cX
) or is up to 3 characters long, not a named key, and does not contain ,
or -
will be interpreted in the old syntax to keep compatibility for the majority of bindings.
Keyboard protocols can be turned off by disabling the “keyboard-protocols” feature flag::
set -Ua fish_features no-keyboard-protocols
This is a temporary measure to work around buggy terminals (:issue:11056
), which appear to be relatively rare.
Use this if something like “=0” or “=5u” appears in your commandline mysteriously.