2011-11-13 81 views
2

我想知道如何在vim中使用一個熱鍵映射兩個命令。 爲exmpale,我已經有了這兩個映射如何vim映射兩個命令

map <silent> <F7> zM 
map <silent> <F8> zR 

但是,我只是想用F8鍵ZM和Zr之間切換。 希望任何人都可以給我解決方案。 非常感謝。

回答

10

zA不會做你想做的事嗎...?

如果不行,我們需要更深入。 http://www.vim.org/scripts/script.php?script_id=1494告訴你該怎麼做,這裏的相關的腳本:

map <buffer> F8 :call ToggleFold()<CR> 
let b:folded = 1 
function! ToggleFold() 
    if(b:folded == 0) 
     exec "normal! zM" 
     let b:folded = 1 
    else 
     exec "normal! zR" 
     let b:folded = 0 
    endif 
endfunction 
+0

實際上,ZA已經映射到,但它只是一個切換倍。我的意思是我想切換所有摺疊。 (zA不這樣做) – lhe

+0

編輯我的回覆以適應您的願望。 – chx

+0

感謝您的回覆,此腳本非常棒! – lhe