2012-07-04 33 views
6

Tôi muốn ánh xạ ctrl + phím dẫn đầu. Có thể không?Cách lập bản đồ <c-leader> trong vim?

Đã thử: :nnoremap <c-leader> :CtrlP<CR>

Và nó không hoạt động.

(bindings ctrlp mâu thuẫn với cam kết ràng buộc yankring)

+0

+1 để tham chiếu [plugin ctrlp] (http://www.vim.org/scripts/script.php?script_id=3736), mà tôi không biết và có vẻ rất hữu ích. – mMontu

Trả lời

11

<Leader> là một ký hiệu quan trọng đặc biệt trong Vim; như vậy, không thể kết hợp với các công cụ sửa đổi như C-. Giả sử các thiết lập mặc định cho nó (tức là \), bạn có thể sử dụng này:

nnoremap <c-\> :CtrlP<CR> 
+1

Đối với một thời điểm nghĩ rằng nó sẽ vít lên lãnh đạo ràng buộc - nhưng không ... Hoạt động hoàn hảo. \ vẫn là một nhà lãnh đạo và c- \ bật lên ctrlp. tyvm :) –

6

Có hai vấn đề này, ở đây:

  1. Bạn đã không đọc tài liệu CtrlP của nơi bạn sẽ thấy điều này :

    Use this option to change the mapping to invoke CtrlP in Normal mode: 
        let g:ctrlp_map = '<c-p>' 
    
  2. <leader> được coi là một nền tảng thay thế cho sử dụng các phím modifier chung (Alt, Ctrl, Shift, Cmd) trong ánh xạ.

    Thông thường, bạn sẽ sử dụng <leader> ở vị trí của <Ctrl> như trong:

    nnoremap <leader>p :CtrlP<CR> 
    

Dòng này trong bạn ~/.vimrc có thể sẽ giải quyết vấn đề của bạn:

let g:crtlp_map='<F11>' 

Mặc dù nó sẽ không trợ giúp nhiều ở đây là ánh xạ của tôi cho CtrlP:

nnoremap <leader>f :CtrlP<CR> 
nnoremap <leader>b :CtrlPBuffer<CR> 
nnoremap <leader>m :CtrlPMRUFiles<CR> 
nnoremap <leader>t :CtrlPTag<CR> 
+0

Đã đọc nó. Không hiểu vấn đề thứ hai là gì. Sẽ không giải quyết vì không muốn nó được ánh xạ trên F11. –

+4

'' là một ví dụ, bạn có thể ánh xạ nó tới bất kỳ thứ gì bạn muốn/có sẵn. Vấn đề thứ hai được giải thích bởi Ingo: '' là một khóa đặc biệt không thể kết hợp với công cụ sửa đổi. Tôi chỉ cung cấp một ví dụ về cách sử dụng phù hợp. – romainl