Tôi có thể sử dụng phím `<cmd>` trong terminal Vim không?


22

Tiếp theo từ câu hỏi gần đây khác của tôi: Làm cách nào để ánh xạ <cmd> - <shift> -f để chạy plugin Ack trong Vim?

Có thể sử dụng <cmd>khóa trong Vim không?

Nếu Vim không nhận ra khóa, có thể ánh xạ lại khóa bên ngoài Vim (bằng cách nào đó không?) Cho một thứ khác và ánh xạ khóa đó trong Vim?

Tôi đang sử dụng iTerm 2 trên Lion với Vim 7.3.

Cảm ơn!

Câu trả lời:


12

<D-> chỉ hoạt động trong MacVim.

Một google nhanh chóng sẽ trả về một loạt các hack và giải pháp của bên thứ ba. Tất cả các giải pháp tôi biết đều hoạt động trên toàn hệ thống hoặc dành riêng cho ứng dụng: nếu bạn Cmdchỉ ánh xạ lại trong iTerm2, làm thế nào bạn sẽ mở một cửa sổ mới hoặc một tab mới? Với mối quan hệ với những con chuột tinh ranh?

Tôi không thể tưởng tượng ra một lý do chính đáng để sắp xếp lại Cmdchìa khóa cho bất cứ thứ gì trên máy Mac. Điều đó sẽ điên rồ.

Vim không phải là TextMate hoặc bất kỳ trình soạn thảo nào bạn đã sử dụng trước đây. Không có cách nào để chuyển tất cả các thói quen cũ của bạn một cách liền mạch, điểm trống.

Thay vì lãng phí thời gian của bạn để cố gắng biến Vim thiết bị đầu cuối của bạn thành thứ gì đó không phải và bạn không nên học cách sử dụng và tùy chỉnh Vim một cách khôn ngoan. Tất cả các bạn Cmd+ Shift+ Ctrl+ Altcombo sẽ không dẫn bạn tới đâu cả. Đặc biệt là trong một thiết bị đầu cuối Altthường có vấn đề và Cmdkhông thể sử dụng.

Cân nhắc sử dụng <leader>( :help leader):

  • nó di động trên mọi nền tảng
  • nó ít bị xung đột với trình giả lập hệ điều hành hoặc thiết bị đầu cuối của bạn
  • nó mở ra rất nhiều khả năng dễ nhớ

Haha, cảm ơn bạn rất nhiều, bây giờ sạch sẽ hơn nhiều.
romainl

Cảm ơn vi đa trả lơi. Tôi đã nghe nói về <leader>nhưng tôi không chắc nó nên được sử dụng như thế nào. Tôi đồng ý với quan điểm của bạn về tính di động, đây là một phần lý do tôi chuyển sang Vim. Cảm ơn.
jordelver

Bạn có thể remap Cmdđể Controltrong iTerm2, và sau đó trong cùng một cửa sổ, thêm phím tắt để mở một tab mới với ^tvv Sau đó mọi thứ suôn sẻ!
Sean Clark Hess

5

Tôi thấy rằng iterm2 có một tùy chọn trong cài đặt bàn phím để thực hiện loại điều này. Đối với ex bên dưới, tôi đã ánh xạ lệnh-enter thành: wq

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


Cảm ơn bạn cho giải pháp này. Đây chỉ là những gì tôi đang tìm kiếm. Tôi biết về <Nhà lãnh đạo>, nhưng tôi nghĩ rằng một số thứ như lưu tệp phải là phổ biến.
Dmitry Biletskyy

4

Đối với các lệnh đơn giản, có một giải pháp thông qua việc gửi mã hex thích hợp đến thiết bị đầu cuối. Ví dụ, tôi muốn lưu trong vim bằng cách nhấn cmd-s. Tôi đã ánh xạ cmd-strong iterm2 để gửi mã hex 0x13là mã cho ctrl-s, sau đó tôi ánh xạ ctrl-stới :wqvim.


Làm thế nào chính xác để bạn làm một điều như vậy? Cảm ơn.
nunos

Không hoạt động với tôi mã hex 0x13: / imgur.com/RjxOoLY
michalzuber

Để biết cách thực hiện việc này, hãy xem các bức ảnh dưới đây - cảm ơn @jhickner về ý tưởng xem iTerm2
Neil McGill

3

Giải pháp năm 2016 là sử dụng chương trình mã nguồn mở Karabiner , cho phép bạn ánh xạ lại bộ sửa đổi và các khóa khác với độ chi tiết rất tốt , ví dụ

  • Remap chỉ bên trái ⌘ Cmd hoặc Optionchìa khóa.
  • Remap một khóa chỉ cho các ứng dụng cụ thể, ví dụ như chỉ bên trong Terminal, Emacs hoặc máy ảo.

Ví dụ: đây là cách ánh xạ lại ⌘ Cmdphím trái để chỉ hoạt động Ctrl bên trong Terminal (và để bên phải không bị ảnh hưởng để bạn vẫn có thể sử dụng, ví dụ như ⌘ Cmd + Tabđể chuyển đổi giữa các ứng dụng):

ảnh chụp màn hình karabiner


Tuyệt vời. Bây giờ tôi có thể sử dụng nó trong Vim đúng cách, mặc dù (trái) lệnh + tab không "tab alt". Tôi có thể sử dụng lệnh đúng nhưng có cách nào để giữ điều đó bằng cách nào đó không?
meder omuraliev
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.