4

我想映射一个键来切换foldmethod=indent和不折叠。我怎样才能做到这一点?

4

1 回答 1

11

我会说zi(切换可折叠)可以完成这项工作。无需映射。(另见:he folding

你也可以看看zMandzR


由于要将其映射到单个键,请按以下步骤操作:

: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-VCtrl-O或者
  • 在窗户上[1]Ctrl-QCtrl-O
于 2011-03-30T09:05:01.483 回答