Tại sao cmd-r làm phiền Vim trên mac? Nó thực sự đang cố gắng làm gì?


19

Chạy qua điều này liên tục vì tôi là nhà phát triển web, 'cmd-r' có tác dụng phụ là ngăn các phím mũi tên hoạt động ở bất kỳ chế độ nào, nhưng tôi không thể tưởng tượng đó là mục đích và tôi không thể tìm thấy bất kỳ tài liệu nào về những gì nó thực sự phải làm.

Chỉnh sửa: Rõ ràng đây thực sự là một lệnh thiết bị đầu cuối mac, 'Gửi lại thiết lập', vì vậy tôi đoán đây là câu hỏi "Lệnh gửi lại phục vụ mục đích gì?" Giải thích tại sao tôi không thể tìm thấy nó trong các tài liệu vim.

Câu trả lời:


15

Để tránh sự phiền toái này, tôi ánh xạ lại Command-R thành "Bỏ qua" trong ánh xạ khóa iTerm.

nhập mô tả hình ảnh ở đây


10

Điều này xảy ra với tôi ngay cả khi không sử dụng màn hình và tôi thấy tôi có thể trở lại trạng thái bình thường bằng cách xóa thiết bị đầu cuối đang chạy vim (Tôi cũng đã thử nghiệm điều này với tmux nhưng không phải màn hình:

:!clear

6

Câu hỏi này đã được trả lời ở đây: khi chạy màn hình trên OSX, lệnh + r làm rối các phím mũi tên trong vim trên tất cả các màn hình

Trả lời sao chép:

Là một người ủng hộ Vim nhỏ, tôi cảm thấy bị ràng buộc phải bảo bạn học cách sử dụng hjkl làm phím con trỏ. Nửa chừng khi khám phá vấn đề, tôi nghĩ rằng nó đã tự khắc phục một cách bí ẩn, cho đến khi tôi nhận ra mình đang thử nghiệm bằng cách sử dụng hjkl thay vì các phím mũi tên thực tế.

Dù sao, bây giờ cho một câu trả lời thực sự.

Thay vì tắt tất cả các màn hình của bạn và khởi động lại, bạn có thể tận dụng khả năng của màn hình để di chuyển giữa các thiết bị đầu cuối. Nhấn CTRL + A CTRL + D để tách màn hình khỏi thiết bị đầu cuối của bạn, sau đó chạy màn hình -D -R để gắn lại. Điều này sẽ làm cho các phím mũi tên của bạn hoạt động trở lại.

Nếu bạn không ở trong màn hình, nhưng chỉ trong Vim, thì bạn có thể CTRL + Z và nhập fg cho cùng hiệu ứng.

Bạn cũng có thể giải quyết vấn đề về phím con trỏ trong Vim, nhưng thiết lập lại có thể đã thay đổi các tùy chọn đầu cuối khác, vì vậy sẽ an toàn hơn khi được mô tả ở trên vì bạn sẽ thấy các sự cố hiển thị / bàn phím ngẫu nhiên khác. Nếu bạn muốn các bản sửa lỗi nào, thì đây là:

map <Esc>[A <Up>
map <Esc>[B <Down>
map <Esc>[C <Right>
map <Esc>[D <Left>

Chi tiết về Grubby:

Cả Vim và màn hình đều sử dụng thư viện ncurses để quản lý thiết bị đầu cuối. Một trong những điều mà ncurses đang làm khi kiểm soát thiết bị đầu cuối tương thích VT100 là chuyển các phím mũi tên thành "chế độ ứng dụng", thay đổi mã mà chúng phát ra. Ví dụ, phím mũi tên lên thay đổi từ Esc [A sang Esc O A. Mã điều khiển VT100 mà nó phát ra để làm điều này là Esc [? 1 h. Lệnh đặt lại thiết bị đầu cuối được gửi bởi Command + R đặt lại các phím con trỏ về mặc định.

Màn hình tách rời và gắn lại khiến cho các nhân viên kiểm soát lại thiết bị đầu cuối, điều này áp dụng lại tất cả các cài đặt mà nó thích, vì vậy đó có lẽ là cách di động và đáng tin cậy nhất để khôi phục mọi thứ trở lại bình thường.

Mã kiểm soát VT100: http://www.handshake.de/infobase/dfue/prgrmmer/t322.htm


Vâng, nhận thấy rằng sau khi tôi đăng, đã thấy "Lệnh đặt lại thiết bị đầu cuối được gửi bởi Command + R đặt lại các phím con trỏ về mặc định.", Sẽ vẫn rất tuyệt để biết chính xác lý do tại sao điều đó xảy ra. Tôi thực sự rất thú vị khi biết mục đích sử dụng của lệnh này là gì, nhưng điều đó không trả lời.
GlyphGryph
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.