2016-03-07 5 views
2

Есть ли способ нанести на карту, например. F9 в .vimrc, чтобы переключить все/развернуть все складки?Vim code folding - remap shortcut to toggle code folding

+0

Как насчет этого https://www.linux.com/learn/tutorials/442438-vim-tips-folding-fun? Затем вы можете создать раскладку в вашем .vimrc для разных нажатий клавиш (например, проверить http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1)) – selyunin

+0

Я видел это, но не показано, как создать переключатель - то есть использовать один и тот же ключ, чтобы сложить все/открыть все. – Anthony

+0

Просто 'nnoremap [ничего] zM' сложить все и' nnoremap [ничего] zR', чтобы открыть все складки. – Chong

ответ

2

В файле .vimrc:

Используйте следующую команду для установки нужного нажатия клавиши (изменение <C-F5> которого Ctrl + F5 комбинации вы хотите):

noremap <C-F5> :call UnrolMe()<CR> 

функция UnrolMe() переключает все разворачивание (то есть впоследствии вызывает команды zR и zM)

let $unrol=0 
function UnrolMe() 
if $unrol==0 
    :exe "normal zR" 
    let $unrol=1 
else 
    :exe "normal zM" 
    let $unrol=0 
endif 
endfunction 

Измените zR и zM на команды разворачивания по вашему выбору (см. https://www.linux.com/learn/tutorials/442438-vim-tips-folding-fun для списка команд). Надеюсь, это поможет

+0

Хороший, делает работу! – Anthony