繁体   English   中英

在vim中,如何将键映射到整个缓冲区的切换折叠?

[英]In vim, how can I map a key to toggle folding over the whole buffer?

我想映射一个键来在foldmethod=indent和no folding之间切换。 我怎样才能做到这一点?

我会说z i (toggle foldenable)完成这项工作。 无需映射。 (另见:he folding

你也可以看看z Mz 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] with behave mswin [2]在命令行或insertmode中输入特殊键(例如^O )使用例如

  • Ctrl-V Ctrl-O
  • 在Windows [1] Ctrl-Q Ctrl-O上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM