Sự cố thiết bị đầu cuối với các phím Ctrl + Mũi tên và Shift + Mũi tên


10

Tôi đang chạy Mavericks trên Macbook Pro mới. Khi tôi sử dụng các phím CtrlShiftcùng với các phím mũi tên, tôi nhận được một số loại mã khóa làm đầu ra trong thiết bị đầu cuối. Tôi khá chắc chắn rằng vấn đề này là mới và nó đã không xảy ra vài ngày trước. Nhưng tôi không chắc chắn 100%. Dù sao, đây là những gì xảy ra:

Nếu tôi nhấn Ctrl+ (Mũi tên trái), ;5Dlà đầu ra trong thiết bị đầu cuối. Tương tự:

  • Ctrl+ (Mũi tên phải) đầu ra;5C
  • Shift+ (Mũi tên trái) đầu ra;2D
  • Shift+ (Mũi tên phải) đầu ra;2C

Như tôi đã đề cập, tôi khá chắc chắn rằng trước ngày hôm nay tôi có thể sử dụng các phím tắt đó để di chuyển giữa các từ và chọn văn bản. Có ai thấy điều này trước đây không? Tôi đã xem qua một số câu hỏi hiện có về các phím tắt mũi tên, nhưng tôi không tìm thấy tài liệu tham khảo nào cho vấn đề chính xác này.

Ngoài ra, lưu ý rằng tôi đã tắt phím tắt di chuyển giữa các máy tính để bàn bằng Ctrlphím mũi tên +.


Các phím mũi tên của bạn được ánh xạ lại ở đâu đó để sử dụng \],-(tương đương ascii của hex 5C 5D 2C 2D).
Tôi sẽ là

Bạn có quan tâm đến xây dựng? Tôi rất mới với OSX. Tôi sẽ tìm những bản sửa chữa này ở đâu?
Henrik Söderlund

Câu trả lời:


8

Điều tương tự cũng xảy ra trên máy ảo 10.9 và 10.8 của tôi. Mũi tên điều khiển và mũi tên dịch chuyển không làm bất cứ điều gì theo mặc định trong bash. Bạn thậm chí đã sử dụng mũi tên shift để chọn văn bản ở đâu? emacs hay vim?

Nếu bạn muốn sử dụng control-left và control-right để di chuyển giữa các từ trong bash, hãy thêm các dòng này vào ~/.inputrc:

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Để sử dụng mũi tên dịch chuyển trong Emacs, ánh xạ dịch chuyển lên \e[1;2A, dịch chuyển xuống \e[1;2B, dịch chuyển sang phải \e[1;2Cvà sang trái sang \e[1;2D. Nếu nhấn shift-up dẫn đến một thông báo như thế nào <select> is undefined, hãy thử cài đặt TERMthành xterm-vt220.


Tôi đoán có thể tôi đã sai khi sử dụng mũi tên shift để chọn văn bản. Tôi là một nhà phát triển với 13 năm kinh nghiệm nhưng đây là lần đầu tiên tôi đến OSX. Rất bối rối cho đến nay.
Henrik Söderlund

Tìm ra điều .inputrc. Tìm kiếm các tập tin ở khắp mọi nơi cho đến khi tôi nhận ra rằng tôi phải tự tạo nó. :) Bây giờ tôi có thể di chuyển giữa các từ một lần nữa. Vì vậy, cảm ơn vì điều đó, tôi đánh dấu đây là câu trả lời. Chỉ cần thêm một vài câu hỏi để tôi rõ ràng 100%: 1: Bây giờ tôi đã chuyển sang sử dụng iTerm2. Có cách nào không, bằng cách sử dụng .inputrc hoặc cách khác, để lấy Shift + Left và Shift + Right để chọn văn bản trong iTerm2? 2: Bạn đã đề cập đến emacs và vim. Không phải đây chỉ là các trình soạn thảo văn bản? Làm thế nào tôi có thể sử dụng chúng như một thiết bị đầu cuối?
Henrik Söderlund

Tôi không biết cách nào để thay đổi bên trái và bên phải thay đổi lựa chọn trong iTerm 2. Tôi nghĩ rằng bạn có thể đã sử dụng chúng chỉ trong Emacs.
Lri

Ổn thỏa. Tôi sẽ phải sống mà không có nó bây giờ. Cảm ơn!
Henrik Söderlund

1
Nó không hoạt động trên macos Sierra, Shift + Mũi tên phải hoặc Shift + Mũi tên trái không làm gì cả.
Alessandro C

3

Ctrl + Trái / Phải hiện diện trong Terminal (macOS 10.12) theo mặc định (Tùy chọn → Cấu hình → Bàn phím). Tôi đã thử thêm Shift-Up / Down in ~/.inputrcnhưng không có gì xảy ra.

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

Thay vào đó tôi đã thêm Shift Up / Down theo chương trình trong Terminal Preferences. Vấn đề là cái này được lưu trữ trên mỗi hồ sơ , trong đó macOS có một tá theo mặc định, do đó bạn phải lặp qua tất cả các cấu hình (một tên được đặt Oceanở đây) để thêm khóa cho tất cả các cấu hình có sẵn. Tôi không biết nếu plutilhoặc defaultscó một số phép thuật để làm điều này dễ dàng, hoặc nếu bạn phải sử dụng một cú pháp XML.

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";

-1

Một thay thế:

Trong tùy chọn Terminal, đi tới Nâng cao và bỏ chọn 'Dán dòng mới khi trả về vận chuyển'.

Sau đó sử dụng Sublime để viết ra com phức tạp

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.