2011-12-16 41 views
5

Tôi đã làm theo hướng dẫn here để tạo các ánh xạ vim. Đặt sau trong .vimrc tập tin của tôiTại sao bản đồ vim của tôi không hoạt động?

let mapleader=',' 
if exists(":Tabularize") 
    nmap <Leader>a= :Tabularize /=<CR> 
    vmap <Leader>a= :Tabularize /=<CR> 
    nmap <Leader>a: :Tabularize /:\zs<CR> 
    vmap <Leader>a: :Tabularize /:\zs<CR> 
endif 

Trang nói khi tôi gõ ,a= nó nên nói Tabularize để gắn kết đường của tôi. Nhưng thay vào đó, nó chèn ký tự = nơi con trỏ.

Tôi đã cài đặt Tabularize và lệnh :Tabularize hoạt động khi tôi gọi nó mà không cần ánh xạ.

Tôi đang làm gì sai?

Trả lời

12

Tệp .vimrc của bạn được đọc và thực thi trước khi plugin được tải, do đó, :Tabularize không được xác định.

Để tìm hiểu trình tự chính xác trong đó kịch bản khác nhau được gọi là lúc khởi động bạn thể chạy lệnh:

:scriptnames 

và bạn có thể tìm hiểu chi tiết về quá trình khởi tạo với:

:help startup 
+2

Ah, đây là nó. Loại bỏ câu lệnh if đã sửa nó. – fent

+1

Tôi vẫn muốn tải theo ngữ cảnh, vì vậy tôi đã theo dõi [this] (http://stackoverflow.com/questions/17688232) và tạo tập lệnh cấu hình tải sau. Chắc chắn, nó là một tập tin khác để lo lắng, nhưng nó trông giống như nơi tốt nhất. –

0

Đảm bảo rằng bạn đặt người lập bản đồ thành ,. Ban đầu nó được ánh xạ tới \.

Để thực hiện điều này thêm video này vào vimrc hoặc gõ vào cửa sổ lệnh:

let mapleader="," 

Mặc dù từ mã của bạn có vẻ như bạn đang làm điều này, bạn phải chắc chắn rằng nó không được thiết lập lại một vài nơi. Để xem những gì nó được thiết lập hiện tại loại let mapleader trong cửa sổ lệnh.

+0

Gõ 'let mapleader =' vào vim đã cho tôi 'E15: Biểu thức không hợp lệ:'. Trả lời được tìm thấy btw, chỉ cho bạn biết. – fent

+0

Cảm ơn DeaDEnD Tôi đã sửa lỗi đánh máy. –

Các vấn đề liên quan