В Vim, как я могу сопоставить ключ для переключения сворачивания по всему буферу? - PullRequest
2 голосов
/ 30 марта 2011

Я хотел бы сопоставить ключ для переключения между foldmethod=indent и отсутствием свертывания.Как я могу это сделать?

1 Ответ

8 голосов
/ 30 марта 2011

Я бы сказал, z i (переключение сворачивания) выполняет эту работу.Картографирование не требуется.(см. также :he folding)

( Вы также можете посмотреть на z M и z R )


Поскольку вы хотите сопоставить его с одной клавишей, выполните следующие действия:

:nnoremap <F10> zi

Чтобы каждый раз переключать режим сворачивания в indent (неочень рекомендуется для меня), вам нужна функция: добавьте функцию в ваш vimrc [2]:

function ForceFoldmethodIndent()
    if &foldenable
        se foldmethod=indent
    endif
endfunction

nnoremap <F10> :normal zi^M|call ForceFoldmethodIndent()^M
inoremap <F10> ^O:normal zi^M|call ForceFoldmethodIndent()^M

Дайте мне знать, если это работает для вас.Я буду признателен, если вы примете этот ответ, если он:)

Приветствия

[1] с behave mswin [2] Для ввода специальных клавиш (например, ^O) в командной строке или режиме вставкинапример,

  • Ctrl-V Ctrl-O или
  • в окнах [1] Ctrl-Q Ctrl-O
...