MacVim: Ánh xạ lại các tổ hợp phím lệnh như <df>


17

Tôi có thể sắp xếp lại các kết hợp không được sử dụng như <d-1>(Cmd + 1) trong MacVim, nhưng có nhiều kết hợp như <d-f>, <d-o>hoặc <d-b>đã bị ràng buộc với các mục trong menu MacVim. Nếu tôi cố gắng ánh xạ lại những thứ bên trong .vimrc của mình, không có gì thay đổi.

Có cách nào để tôi có thể ánh xạ lại các kết hợp đó trong MacVim hoặc ngăn MacVim gán chúng vào các mục menu để chúng được chuyển đúng vào lõi Vim không?

Câu trả lời:


21

Đã tìm thấy: Command-T khuyên bạn nên sử dụng đoạn mã sau:

if has("gui_macvim")
  macmenu &File.New\ Tab key=<nop>
  map <D-t> :CommandT<CR>
endif

Vì vậy, về cơ bản, bạn hủy ánh xạ mục menu tương ứng, và sau đó bạn có thể tự do ánh xạ phím tắt mà bạn đang cố gắng ánh xạ. (Tôi không chắc chắn những gì ampersand đang làm; nó hoạt động cùng và không có nó.)

Điều này phải được đặt trong ~ / .gvimrc, không phải ~ / .vimrc! (Rõ ràng ~ / .vimrc được đọc quá sớm, do đó ánh xạ (un) sẽ bị ghi đè nếu bạn đặt chúng ở đó.)


3
Tôi đã thử điều này trên phiên bản hiện tại của MacVim (7.3) và nó không hoạt động. Cuối cùng tôi đã đi vào $ VIMRUNTIME / menu.vim, tìm kiếm <D-và đặt && 0ở cuối câu lệnh if xung quanh. Sau đó, tôi đã sao chép nội dung vào .gvimrc của mình và thay thế <D-[^>]*>bằng <nop>.
dash-tom-bang

1
@ dash-torn-bang Hừm, mã của tôi ở trên dường như vẫn hoạt động tốt với 7.3 ảnh chụp nhanh 62 trên Lion. Tôi đã không phải chỉnh sửa menu.vim của MacVim. Tôi không chắc tại sao nó làm việc cho tôi mà không phải cho bạn ...
Jo Liss

1
Tôi đã có thể làm cho nó hoạt động mà không cần ampersand:macmenu File.Print key=<nop>
romaninsh

Cảm ơn! Đã làm cho tôi. Mặc dù với một sửa đổi nhỏ:macmenu File.Close key=<nop>
Halil zgür
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.