Saya menggunakan Terminal GNOME 2.7.3 dan zsh 4.3.9 (x86_64-unknown-linux-gnu)
Home
dan End
tidak bekerja Tidak ada yang terjadi dan tidak ada yang ditampilkan ketika saya menekan mereka. tetapi mereka bekerja ketika saya menekan shift + Home
(Menggulir ke awal keluaran shell.) dan juga bekerja di program GUI lainnya. Saya mencari di Google dan mencoba yang berikut. Tidak ada perubahan :(
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: Ketika saya berada di tab terakhir dan tekan Ctrl + pagedown
saya ;5~
dicetak di layar. Apakah itu memberi petunjuk?
.inputrc
di direktori home Anda? Apakah ini terjadi dengan pengguna yang baru dibuat? Apakah ini selalu terjadi, atau mulai suatu hari?.inputrc
. Saya tidak mengizinkan untuk membuat pengguna baru. Ini selalu seperti itu. Saya hidup denganctrl +a
danctrl+e
.ctrl+a
&ctrl+e
;-)Jawaban:
Saya menggunakan fedora sekarang, namun saya sarankan Anda untuk membaca wiki Archlinux dengan hati-hati , semuanya: Kunci Home dan End tidak berfungsi .
Apa yang saya lakukan untuk memperbaikinya:
Tekan Ctrl-V Home, urutan lolos untuk tombol Home dicetak. Hal ini tidak
\e[4~
dan\e[1~
seperti yang saya harapkan untuk menjadi dengan melihat/etc/inputrc
. Itu[H
dan[F
Ekstrak info terminal
infocmp $TERM >terminfo.src
Buka file itu untuk diedit, seperti
vim terminfo.src
, carikhome
dankend
itu ditugaskan untuk sesuatu, katakanlahkhome=\E[1~
dankend=\E[4~
yang tidak berfungsi dalam kasus ini. hapus dan ganti dengan urutan yang Anda temukan di langkah # 1, jadi bagi saya, setelah mengedit itu:khome=\E[H
dankend=\E[F
.Jika Anda ingin bermain aman, pastikan
[F
dan[H
(atau urutan apa pun yang baru saja Anda gunakan) tidak ditugaskan untuk hal lain atau hal-hal akan kacau!jalankan
tic terminfo.src
yang menciptakan~/.terminfo
direktori.Di atas
.zshrc
sebelum dan semua perintah lainnya, masukkan:export TERMINFO=~/.terminfo
Buka jendela terminal baru dan Anda harus baik-baik saja, rumah dan akhir harus bekerja sekarang.
PS: Metode bindkey secara teori seharusnya bekerja dan lebih mudah, tetapi tidak untuk saya.
sumber
Urutan escape yang dikirim oleh fungsi dan tombol kursor terdiri dari karakter escape diikuti oleh karakter yang dapat dicetak. Tekan Ctrl+ Vlalu Home. Ini akan menyisipkan urutan melarikan diri secara harfiah. Kemudian tambahkan
bindkey
instruksi ke blog Anda~/.zshrc
.Instruksi ini cenderung (perhatikan
O
, bukan0
):sumber
ctrl + a
danctrl +e
dan mode viSaya menemukan saya harus menekan
CTRL-v
, melepaskan, lalu tombolHome
atauEnd
untuk mendapatkan urutan^[[H
dan^[[F
untuk masingHome
-End
masing. Menambahkan baris berikut ke.zshrc
file memecahkan masalah bagi saya:sumber
Tambahkan baris ini ke
/etc/zshrc
dan kemudian lakukansource /etc/zshrc
(diambil dari sini )sumber
Jawaban ini menjelaskan masalah saya sangat bagus dan memperbaikinya.
/programming//a/686458/5472892
TL; DR: Ubah jenis terminal Putty Anda dari default
xterm
menjadilinux
.Mungkin seseorang bisa menggunakannya juga.
sumber