Korzystam z GNOME Terminal 2.7.3 i zsh 4.3.9 (x86_64-unknown-linux-gnu)
Home
i End
nie działają. Nic się nie dzieje i nic nie jest wyświetlane po ich naciśnięciu. ale działają, gdy naciskam shift + Home
(przewija do początku danych wyjściowych powłoki.), a także działają w innych programach GUI. Poszukałem Google'a i wypróbowałem następujące. Brak zmiany :(
885 bindkey "\e[1~" beginning-of-line
886 bindkey "\e[H" beginning-of-line
887 bindkey "\e1~" beginning-of-line
888 bindkey "\eH" beginning-of-line
889 bindkey "\e[0H" beginning-of-line
PS: Kiedy jestem w ostatniej zakładce i naciskam Ctrl + pagedown
, ;5~
drukuje się na ekranie. Czy to daje jakąś wskazówkę?
.inputrc
w swoim katalogu domowym? Czy dzieje się tak w przypadku świeżo utworzonego użytkownika? Czy to zawsze się zdarzało, czy też zaczęło się któregoś dnia?.inputrc
. Nie mam uprawnień do tworzenia nowego użytkownika. Tak było zawsze. Mieszkam zctrl +a
ictrl+e
.ctrl+a
&ctrl+e
;-)Odpowiedzi:
Jestem na fedora jeszcze teraz proponuję czytać wiki ArchLinux za ostrożnie , cały: Home i End klawiszy nie działa .
Co zrobiłem, aby to naprawić:
Naciśnij klawisze Ctrl-V Home, sekwencja Escape dla klawisza Home zostanie wydrukowana. To nie
\e[4~
i\e[1~
jak się spodziewałem się, patrząc na/etc/inputrc
. To było[H
i[F
Wyodrębnij informacje o terminalu
infocmp $TERM >terminfo.src
Otwórz ten plik do edycji, na przykład
vim terminfo.src
poszukajkhome
ikend
jest on przypisany do czegoś, powiedzmykhome=\E[1~
ikend=\E[4~
który nie działa w tym przypadku. usuń go i zamień na sekwencję, którą znalazłeś w kroku # 1, więc dla mnie po edycji to:khome=\E[H
ikend=\E[F
.Jeśli chcesz grać bezpiecznie upewnić,
[F
i[H
(lub cokolwiek sekwencja po prostu używany) nie jest przypisany do czegoś innego lub rzeczy zostaną pomieszane!uruchom,
tic terminfo.src
który tworzy~/.terminfo
katalog.Na wierzchu
.zshrc
przed wszystkimi innymi poleceniami umieść:export TERMINFO=~/.terminfo
Otwórz nowe okno terminala i wszystko powinno być w porządku, dom i koniec muszą już działać.
PS: Metoda bindkey powinna teoretycznie działać i jest łatwiejsza, ale dla mnie nie.
źródło
Sekwencje specjalne wysyłane za pomocą klawiszy funkcyjnych i kursora składają się ze znaku zmiany znaczenia, po którym następują znaki do wydrukowania. Naciśnij Ctrl+ Vnastępnie Home. Spowoduje to wstawienie sekwencji ucieczki dosłownie. Następnie dodaj
bindkey
instrukcję do swojego~/.zshrc
.Instrukcja prawdopodobnie będzie (uwaga
O
, nie0
):źródło
ctrl + a
ictrl +e
oraz vi trybZnalazłem musiałem uderzyć
CTRL-v
, puścić, toHome
czyEnd
klawisz, aby uzyskać sekwencje^[[H
i^[[F
naHome
iEnd
odpowiednio. Dodanie następujących wierszy do.zshrc
pliku rozwiązało problem:źródło
Dodaj te wiersze,
/etc/zshrc
a następnie zróbsource /etc/zshrc
(zaczerpnięte stąd )źródło
Ta odpowiedź naprawdę wyjaśniła mój problem i go naprawiła.
/programming//a/686458/5472892
TL; DR: Zmień typ terminala PuTTY z domyślnego
xterm
nalinux
.Może ktoś też może z tego skorzystać.
źródło