2012-06-24 27 views
11

Tôi không hiểu sự khác biệt giữa let mapleader=","let g:mapleader=",". Tôi biết rằng g: có nghĩa là đó là một biến toàn cầu, nhưng tôi không hiểu rõ sự khác biệt. Tôi nên sử dụng cái nào trong tệp .vimrc của mình?Vim biến toàn cầu và người lập bản đồ

Trả lời

11

Nếu các câu lệnh nói trên đều nằm ngoài hàm định nghĩa, chúng có tác dụng giống hệt nhau của việc đặt biến toàn cầu. Tuy nhiên, nếu câu lệnh đầu tiên, không có tiền tố g:, được sử dụng trong một phần tử chức năng, nó xác định một biến địa phương cho hàm đó. Xem :help internal-variables và đặc biệt là :helpg In a function:.

Vì vậy, các chức năng bên ngoài, người ta có thể truy cập biến toàn cầu dẫn đầu bản đồ chỉ đơn giản là là mapleader.

1
let mapleader="," 

như đã nêu trong tài liệu.

Tại sao bạn muốn sử dụng g:mapleader? g: chủ yếu được sử dụng trong các plugin cho các biến toàn cầu let để hiển thị cài đặt cho các plugin khác hoặc để bạn chơi trong .vimrc của mình.

+1

Một người sẽ sử dụng 'g: mapleader' để truy cập biến toàn cầu của người lập bản đồ trong một hàm. Xem các tham chiếu liên quan đến trợ giúp Vim trong câu trả lời của tôi. –

+0

Có, nhưng không phải trong những gì tôi tin là ngữ cảnh của câu hỏi: đặt 'mapleader' thành', '. – romainl

+0

Đặt 'mapleader' có thể xảy ra trong một hàm. Đặc biệt nếu bạn xem xét rằng giá trị của 'mapleader' được sử dụng cho' 'tại thời điểm ánh xạ được xác định. –

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