2011-12-26 19 views
12

Tôi đang chạy Ubuntu 11.04. Tôi đã cài đặt Terminator Terminal Emulator 0,95 và Zsh, phiên bản 4.3.15.
Tôi gặp vấn đề với các phím bên trong Zsh. Ít nhất sau đây:Sửa cài đặt khóa (Trang chủ/Kết thúc/Chèn/Xóa) trong .zshrc khi chạy Zsh trong Trình mô phỏng đầu cuối Terminator

  • Home/End, không có gì xảy ra
  • Chèn/Xóa/PageUp/PageDown: một "~" được gõ

Tôi đã thử một số cấu hình cho zshrc mà nên giải quyết vấn đề, nhưng không có cách tiếp cận thực sự làm việc cho đến nay. Có lẽ điều này liên quan đến sự kết hợp của Terminator và Zsh. Tôi đã lấy 2 cấu hình trên trang này: https://bbs.archlinux.org/viewtopic.php?pid=428669.

Có ai có cấu hình tương tự (đặc biệt là Terminator và Zsh) và tìm ra những thứ cần được chèn vào .zshrc để sửa các cài đặt chính không?

Trả lời

37

Để biết mã khóa, hãy thực hiện cat, hãy bấm phím, nhập và Ctrl + C.

Đối với tôi, Home gửi ^[[HEnd^[[F, vì vậy tôi có thể đặt i tôi .zshrc trong dir nhà tôi

bindkey "^[[H" beginning-of-line 
bindkey "^[[F" end-of-line 

Các mã này có thể thay đổi với các mô phỏng thiết bị bạn sử dụng.

autoload zkbd ; zkbd sẽ tạo tệp với một chuỗi mã khóa để sử dụng, như bindkey "${key[Home]}" beginning-of-line và bạn có thể nguồn tệp khác tùy thuộc vào thiết bị đầu cuối.

+1

Cảm ơn mẹo sử dụng 'mèo', rất hữu ích. – ifischer

+2

Con mèo không hoạt động với tôi, nhưng [bài đăng trên blog này ở đây] (http://blog.andrewbeacock.com/2007/08/how-to-get-home-end-keys-working-in.html) cho thấy 'od -c'which đã làm cho các trick cho tôi – flq

+0

' read' hoạt động như 'cat' cho việc này. Chỉ cần nhớ rằng '^ [' là mã thoát, '\ e' trong' .inputrc'. –

6

Nhờ @ lolesque, nhưng giải pháp không hoạt động với tôi. Sau khi sử dụng zkbd để kiểm tra ràng buộc khóa của tôi, tôi đã đưa ra giải pháp dưới đây. BTW, số $TERM của tôi là xterm.

bindkey "^[[1~" beginning-of-line 
bindkey "^[[4~" end-of-line 

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan