2012-06-24 95 views
11

我不明白let mapleader=","let g:mapleader=","之間的差異。我知道g:意味着它是一個全局變量,但我不清楚它們的區別。我應該在我的.vimrc文件中使用哪一個?Vim的全局變量和mapleader

回答

11

如果上述語句都位於功能 定義之外,他們設置全局變量的效果相同。 然而,如果第一個聲明,而不g:前綴,在 使用的函數體,它定義了一個變量當地該功能。見:help internal-variables,特別是:helpg In a function:

因此,外部函數可以簡單地訪問全局映射引導變量 ,如mapleader

1
let mapleader="," 

正如doc中所述。

你爲什麼要使用g:mapleaderg:在插件let全局變量主要用於以暴露設置到其他插件或你在你的.vimrc一起玩。

+1

人們會用'G:mapleader'訪問功能的地圖領袖全局變量。在我的回答中查看有關Vim幫助的參考資料。 –

+0

是的,但不是我認爲是問題的背景:將'mapleader'設置爲','。 – romainl

+0

設置'mapleader'可能發生在一個函數中。特別是如果你認爲'mapleader'的值在定義映射的時候用於''。 –