2011-05-18 34 views
1

我不確定這是正確的方式來做到這一點,但這是事情。我想將我的Vim在黑暗方案和燈光方案之間切換。但是,colorscheme不是唯一應該切換的東西。我想切換字體,並縮進指南顏色以及。所以我想出了這個功能:Vim:在函數內部設置GUI字體

fun! DarkScheme() 
    colorscheme molokai 
    set gfn=Monaco\ 10 
    call DarkIndentGuides() 
endf 

但是,當我使用外接顯示器,我希望我的字體要大於10,所以我想通過字體大小參數。我試過

fun! DarkScheme(n) 
    colorscheme molokai 
    set gfn="Monaco ".a:n 
    " and set gfn="Monaco\ ".a:n 
    " and also set gfn=Monaco\ a:n 
    call DarkIndentGuides() 
endf 

但它不工作。它會忽略任何這些示例中的字體大小。我怎麼做?謝謝!

回答

1

您指定字體大小的方法對我不起作用。我使用set gfn <font>:h<size>(例如set gf=Monaco:h10),所以我不確定爲什麼您的原始功能(使用硬編碼字體大小)起作用。

該表達式使用的變量,你需要使用execute命令:

execute ':set gfn=Monaco:h' . a:n 

它應該做的伎倆。

+0

所以我最終的解決方案是 '執行':設置gfn =摩納哥\'。 a:n' – vrybas 2011-05-18 10:07:09

+0

我很高興工作。我想知道爲什麼你的語法不適合我... – 2011-05-18 10:16:01

+0

語法取決於你的系統。檢查'setting-guifont'的幫助,並在'options.txt'中輸入3466行。 @vrybas可能使用GTK – sidyll 2011-05-18 13:51:08