#vim
#vim
Вопрос:
Мне интересно, как использовать одну горячую клавишу, сопоставляющую две команды в vim. для exmpale у меня уже есть эти два сопоставления
map <silent> <F7> zM
map <silent> <F8> zR
Но я просто хочу использовать F8 для переключения между zM и zR.
Надеюсь, кто-нибудь может дать мне решение.
Большое спасибо.
Ответ №1:
Не будет ли 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
Комментарии:
1. на самом деле, zA уже сопоставлен с <пробелом> , но он переключает только один раз. Я имею в виду, я хочу переключить все сгибы. (zA этого не делает)
2. Отредактировал мой ответ, чтобы учесть ваше пожелание.