/ / Linke Pfeiltaste funktioniert nicht in Tmux Bash - Bash, Terminal, Fedora, Putty, Tmux

Linke Pfeiltaste funktioniert nicht in Tmux Bash - Bash, Terminal, Fedora, Putty, Tmux

Wenn ich in tmux bin, kann ich den Cursor nicht mit der linken Pfeiltaste (auf meiner Tastatur) ĂŒber den eingegebenen Text bewegen. Es werden keine anderen Zeichen angezeigt, der Cursor bewegt sich nicht, nichts passiert.

Einzelheiten

Wenn ich vim eingebe, funktioniert der linke Pfeil fĂŒrNavigation. Es scheint also kein generelles Problem in tmux zu sein, sondern nur etwas, das in der Bash-Befehlszeile angezeigt wird. Die Pfeile nach oben und unten funktionieren in Bash in TMUX. Der linke Pfeil funktioniert normalerweise auch in bash außerhalb von tmux. Wenn ich in tmux im Bash bin, bewegt das DrĂŒcken von Shift Left den Cursor stattdessen nach links.

Grundeinstellung

Von PuTTY in Windows "ssh" ich auf eine Fedora 24-Box. Dann starte ich tmux.


Umgebung

Kittkonfiguration

Terminal -> Keyboard -> keypad: ESC[n~
Terminal -> Features -> nothing checked
Connection -> Data -> term type string: putty-256color

Schale

Außerhalb von tmux:

$ echo $0
-bash
$ help
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)

In tmux:

$ echo $0
-bash
$ help
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)

Bash-Variablen

Außerhalb von tmux:

$ echo $TERM
putty-256color

In tmux:

$ echo $TERM
screen-256color

Ich habe auch versucht, andere Werte fĂŒr einzustellen $TERM in tmux, wie z screen.putty-256color was ich mit gefunden habe ls -1 /usr/share/terminfo/s/screen* - schien keinen Unterschied zu machen.

Einstellungen fĂŒr die Bash-Option, die innerhalb oder außerhalb von tmux identisch sind:

$ shopt -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       on
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off
xtrace          off

Ich habe keine persönliche .inputrc, aber ich sehe, dass der Emacs oben eingeschaltet ist und / etc / inputrc diesen Abschnitt hat:

$if mode=emacs

# for linux console and RH/Debian xterm
"e[1~": beginning-of-line
"e[4~": end-of-line
# commented out keymappings for pgup/pgdown to reach begin/end of history
#"e[5~": beginning-of-history
#"e[6~": end-of-history
"e[5~": history-search-backward
"e[6~": history-search-forward
"e[3~": delete-char
"e[2~": quoted-insert
"e[5C": forward-word
"e[5D": backward-word
"e[1;5C": forward-word
"e[1;5D": backward-word

# for rxvt
"e[8~": end-of-line
"eOc": forward-word
"eOd": backward-word

# for non RH/Debian xterm, can"t hurt for RH/DEbian xterm
"eOH": beginning-of-line
"eOF": end-of-line

# for freebsd console
"e[H": beginning-of-line
"e[F": end-of-line
$endif

Anmerkungen

Ich glaube, das hat vor einer Woche funktioniert. Unterschiede seitdem habe ich gedacht:

  • Ich hatte eine andere PuTTY-Konfiguration (ich kann versuchen, diese wiederherzustellen, sie ist momentan nicht leicht zugĂ€nglich)
  • Ich habe Solarized Colors fĂŒr vim installiert und ausprobiertihre PuTTY Farben auch. Ich habe mir die $ TERM-Optionen dabei noch einmal genauer angesehen, aber ich glaube nicht, dass ich wesentliche Änderungen vorgenommen habe, die ich noch nicht rĂŒckgĂ€ngig gemacht habe.
  • Kernel-Header wurden aktualisiert, Glibc wurde aktualisiert.

Fehlerbehebung

Zsh installieren und einstellen set-option -g default-shell /bin/zsh im ~/.tmux.conf hat das Problem nicht gelöst.

sumsgstr "auf root zu gehen und tmux von root zu starten, hat das Problem nicht gelöst.

Antworten:

3 fĂŒr Antwort № 1

Ich habe das Problem heute Morgen behoben, daher sende ich diese Antwort mit meinem Fix:

Fix

Ändern Sie die PuTTY-Konfiguration Connection -> Data -> Terminal-type string zu xterm-256color.


ErlÀuterung

Nun, hier ist der Unterschied zwischen den Endwerten fĂŒr kLFT, die man terminfo sagt ist die verschobene linke Pfeiltaste:

$ infocmp xterm-256color putty-256color | grep "\E[D"
kLFT: "E[1;2D", "E[D"

Ich denke, Bash versteht E[D als Befehl zum Bewegen des Cursors nach links ist es also sinnvoll, dass der Umschalt-Links-Pfeil zum Bewegen des Cursors nach links funktioniert. Aber es gibt keinen anderen Eintrag fĂŒr E[D, und

$ infocmp xterm-256color | grep "\E[D"

findet nichts, daher scheint es nicht so zu sein, dass xterm-256color etwas anderes daran gebunden hat, und kLFT ist die einzige Übereinstimmung in putty-256color. man terminfo sagt

Die Codes, die mit den Tasten Nach links, Nach rechts, Nach oben, Nach unten und Nach Hause gesendet werden, können als kcub1, kcuf1, kcuu1, kcud1 und khome angegeben werden.

An anderer Stelle wird kcub1 als Nach-links-Taste aufgelistet, daher sollte ich nach kcub1 suchen:

$ infocmp xterm-256color | grep kcub1
kbs=177, kcbt=E[Z, kcub1=EOD, kcud1=EOB, kcuf1=EOC,

$ infocmp putty-256color | grep kcub1
kcub1=EOD, kcud1=EOB, kcuf1=EOC, kcuu1=EOA,

Aber es ist auf den gleichen Wert gesetzt, EOD, sowohl.

In screen-256color ist der Wert fĂŒr kcub1 derselbe und kLFT ist nicht festgelegt.

DarĂŒber hinaus habe ich nicht viele ErklĂ€rungen - wenn das alles passt und fĂŒr Sie sinnvoll ist, schreiben Sie bitte eine Antwort.

Hinweis: Ich dachte, dass dies vor einer Woche mit putty-256color funktioniert hat, aber ich erinnere mich, dass ich einige $ TERM-Optionen geÀndert habe, als ich Solarized installiert habe. Vermutlich habe ich es damals auf putty-256color geÀndert und es vergessen.