Câu hỏi Ràng buộc Fn-Delete trong zsh trên Mac OS X


Trong zsh, bất cứ khi nào tôi nhấn Fn + Delete (mà là chuyển tiếp xóa) một dấu ngã (~) được chèn vào. Điều này cho biết zsh không có khóa bị ràng buộc.

Làm thế nào để tôi ràng buộc nó, và làm cho nó hoạt động bình thường (xóa ở phía trước của con trỏ)?


19
2017-07-30 15:45


gốc




Các câu trả lời:


Đầu tiên tìm ra trình tự nó tạo ra.

echo "CtrlVFnXóa bỏ" | od -c

Sau đó, liên kết chuỗi đó bằng cách sử dụng cơ chế ràng buộc zsh bình thường.


18
2017-07-30 15:59



~> echo "~" | od -c 0000000 ~ \ n 0000002 ~> Tôi phải làm gì với thông tin này ngay bây giờ? - Thomas R
@rixth: Nó không thực sự xuất hiện chỉ một dấu ngã. Bạn không thể sử dụng echo "~" , bạn phải thực sự làm theo các hướng dẫn Ignacio cho bạn. Trên hệ thống của tôi, đó là ^[[3~ (hoặc là od kết quả đầu ra: 033 [ 3 ~). Vì vậy, lệnh sẽ là bindkey "^[[3~" delete-char sẽ đi vào ~/.zshrc. - Dennis Williamson
Để làm rõ ở trên, ctrl-v là một chuỗi thoát đặc biệt có nghĩa là "chèn ký tự tiếp theo mà tôi nhấn vào như một ký tự không bị thoát khỏi chữ, thay vì làm bất cứ điều gì nó thường làm." Có nghĩa là nó không được chuyển đổi thành ~, nhưng vẫn là trình tự thoát. - NHDaly
Tôi không hiểu làm thế nào để sử dụng đầu ra của các bên trên để lấy được bindkey. Đầu ra của tôi là 0000000 C t r l V F n D e l e t e \n 0000016. - Oliver Joseph Ash


Đối với tôi, ở trên đã không làm các trick vì vậy tôi thêm vào khóa sau ràng buộc với tôi ~/.zshrc:

bindkey "\e[3~" delete-char

FYI: Tôi đang ở trên Mac (High Sierra).


1
2018-03-15 16:05



Và cách biết mã cho bất kỳ khóa nào khác mà tôi muốn ràng buộc, ví dụ: Fn + F1? để tôi có thể đặt các mã tương ứng trong ~/.zshrc. - Alex Ventura
Bạn có thể nhập cat và sau đó nhập các phím. Fn+F1 đưa cho tôi ^[OP ví dụ. - LordTribual


bindkey 'CtrlvFnXóa bỏ' delete-char

Điều này sẽ ràng buộc Fn+Xóa bỏ để xóa chuyển tiếp một ký tự. Nếu ở trên không rõ ràng, bạn cần nhập Ctrl+v,   Fn+Xóa bỏ giữa việc nhập dấu ngoặc kép. Ctrl+v cho phép bạn gõ chuỗi thoát thoát theo nghĩa đen của bất kỳ phím nào xuất hiện sau nó.

Bạn có thể đặt dòng này vào ~/.zshrc tập tin.


0
2017-11-25 19:55