Phím bàn phím số trong chữ chèn vi thay vì số


8

Tôi mới đến vi. Trên thực tế tôi đang sử dụng nó chỉ để sửa đổi các tệp văn bản nhỏ. Tôi nghĩ rằng tôi gặp vấn đề nghiêm trọng và bất thường với bàn phím số như sau: Tôi viết vi INvà nhấn enter. Điều này làm cho tôi truy cập vào các tập tin có tên IN. Sau đó, tôi sử dụng các phím mũi tên (hoặc hjkl) để di chuyển con trỏ qua tệp. Sau đó, tôi nhấn iđể kích hoạt insert modevà viết. Vấn đề ở đây là: bàn phím số không hoạt động chính xác, vì tôi nhận được pqrstuvwxylkhi nhấn 0123456789+( ,.-*/=vẫn hoạt động).


1
Tại sao câu hỏi của tôi được di chuyển ở đây? Vấn đề không nằm ở Mac mà là về Vi. Thực tế, như tôi đã nói, bàn phím số không hoạt động chỉ trong Vi . Ngược lại, nó luôn hoạt động trong thiết bị đầu cuối hoặc trong các ứng dụng khác.
Enrico Maria De Angelis

Câu trả lời:


8

Theo tôi hiểu, có hai chế độ có thể cho bàn phím số của thiết bị đầu cuối VT100: chế độ bàn phím Số thông thường và chế độ bàn phím Ứng dụng . Cái sau có các phím bàn phím gửi không phải số, nhưng thoát khỏi chuỗi. Ví dụ: phím '1' gửi <ESC>[Oq, phím '2' gửi <ESC>[Or, trong đó chỉ hiển thị các chữ cái qr trên màn hình. Đây là các chuỗi điều khiển mà chương trình (máy chủ) có thể hiểu là các lệnh cho một số tính năng. Vì vậy, trong chế độ này, các phím bàn phím thực tế được sử dụng làm các phím chức năng bổ sung.

Theo tiêu chuẩn thiết bị đầu cuối VT100, một chương trình (máy chủ) có thể 'yêu cầu' thiết bị đầu cuối chuyển bàn phím sang chế độ ứng dụng. (Nó có thể làm điều này bằng cách gửi một chuỗi điều khiển cụ thể đến thiết bị đầu cuối.) Vi và Vim được biết là làm điều này. Công tắc chế độ không phổ biến, nhưng trên cơ sở chương trình sang chương trình: nó chỉ hoạt động trong chương trình yêu cầu. Trong các chương trình khác, bao gồm cả vỏ, bàn phím vẫn ở chế độ Số. Cài đặt mặc định trong Terminal.app của OS X là cho phép các chương trình chuyển sang chế độ Ứng dụng, đây là chế độ bạn đã tắt bằng cách bỏ chọn tùy chọn "Cho phép chế độ bàn phím ứng dụng VT100". (BTW: Trong OS X 10.7, tùy chọn này được gắn nhãn "Hành vi bàn phím nghiêm ngặt VT100".)

Xem thêm:

http://www.vt100.net/docs/vt100-ug/ch CHƯƠNG3.html https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html


Có lẽ tôi đã không nhận được điểm trong những gì bạn viết. Khi tôi ở trong thiết bị đầu cuối, bàn phím hoạt động tốt (chèn số). Hành vi "lạ" chỉ xảy ra ở chế độ chèn của Vi.
Enrico Maria De Angelis

1
Công tắc chế độ chỉ hoạt động trong chương trình yêu cầu nó (trong trường hợp này: vi). Vì vậy, bàn phím hoạt động bình thường trong các chương trình khác bao gồm cả vỏ. Tôi đã thêm phần làm rõ này vào câu trả lời.
Từ điển ẩn danh

9

Tôi đã tự mình giải quyết vấn đề, nhưng tôi muốn biết TẠI SAO giải pháp của tôi hoạt động. Tôi đã bỏ chọn tùy chọn mũi tên màu đỏ chỉ ra trong hình sau đi vào Đây là tiếng Ý, nhưng phiên bản tiếng Anh của cùng một cửa sổ ở đây

Nhưng tôi không nhớ cho phép điều này nhưng nó có.


Việc chỉnh sửa là sai lệch. Đó là sai rằng " Tôi không nhớ cho phép điều này "; ngược lại tôi chắc chắn rằng tôi không bao giờ kích hoạt nó trong cửa sổ này !
Enrico Maria De Angelis

Hơn nữa, có một phần trong đó tôi đã yêu cầu ai đó cho tôi biết lý do tại sao tùy chọn này có hậu quả đó, nếu có những hậu quả khác và nếu có thể tôi đã kích hoạt nó bằng hiệu ứng phụ của typo.
Enrico Maria De Angelis

AFAIK tùy chọn được bật theo mặc định (ít nhất là nó cũng được bật trên máy Mac của tôi và tôi khá chắc chắn rằng tôi đã không tự ý kích hoạt nó). Đối với bình luận thứ hai của bạn: xem nhận xét trong lịch sử chỉnh sửa liên quan đến các câu hỏi tiếp theo ẩn trong câu trả lời.
nohillside

1
Tham khảo là tôi luôn sử dụng bàn phím số để chèn số trong Vi. Dù sao, có lẽ tùy chọn có thể đã được kích hoạt bằng cách nâng cấp từ Yosemite lên El Capitan (tôi vẫn chắc chắn rằng mình đã sử dụng bàn phím số để chèn số sau khi nâng cấp).
Enrico Maria De Angelis

1
Nó được sử dụng để được mặc định. Bắt đầu trong OS X 10.11 El Capitan, nó được tắt theo mặc định. Vim đang bật Chế độ bàn phím ứng dụng (DECKPAM) mà không cung cấp bất kỳ ánh xạ mặc định nào. Tôi đã không thể khám phá lý do tại sao Vim làm điều này. Tôi nghĩ rằng nó nên cung cấp ánh xạ mặc định hoặc không bật DECKPAM theo mặc định.
Chris Trang
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.