2012-06-24 3 views
11

Я не понимаю разницы между let mapleader="," и let g:mapleader=",". Я знаю, что g: означает, что это глобальная переменная, но я не совсем понимаю разницу. Какой я должен использовать в моем файле .vimrc?Глобальные переменные Vim и mapleader

ответ

11

Если вышеупомянутые операторы находятся вне определения функции , они имеют одинаковый эффект от установки глобальной переменной. Однако, если первый оператор без префикса g: используется в корпусе функции, он определяет переменную local этой функции. См. :help internal-variables и особенно :helpg In a function:.

Таким образом, внешние функции позволяют получить доступ к глобальной переменной-лидеру карты просто как mapleader.

1
let mapleader="," 

как указано в документе.

Почему вы хотите использовать g:mapleader? g: в основном используется в плагинах для глобальных переменных let, чтобы показывать настройки другим плагинам или играть в вашем .vimrc.

+1

Чтобы использовать глобальную переменную лидера карты в функции, используйте 'g: mapleader'. См. Соответствующие ссылки на помощь Vim в моем ответе. –

+0

Да, но не в том, что я считаю контекстом вопроса: установка 'mapleader'', '. – romainl

+0

Установка функции «mapleader» может выполняться в функции. Особенно если вы считаете, что значение 'mapleader' используется для' 'в момент определения отображения. –

Смежные вопросы