在Vim中复制和关闭折叠
尽管使用Vim十年,有时我仍然在努力折叠.此问题中的所有内容都是可重现的,Vim 7.3中没有.
vimrc.我正在使用foldmethod = marker和默认的foldmarkers.
考虑以下嵌套折叠结构(使用foldmethod = marker和默认标记).第一列是行号(fold0具有零缩进). 1|{{{ fold0 2| {{{ fold1 3| {{{ fold2 4| }}} 5| }}} 6|}}} 假设fold1和fold2都关闭,光标在第2行.我可以使用yyp猛拉并放置关闭的折叠,但新插入的折叠全部打开. 我想要的是关闭“put”命令导致的折叠.或者,有没有方便的方法在“放”后关闭它们?也就是说,从这个位置(光标在第6行): 1|{{{ fold0 2|+--- 4 lines: fold1---------------------------------------- 6| {{{ fold3 7| {{{ fold4 8| }}} 9| }}} 10|}}} 我可以使用zc关闭fold3,但折叠4在zo之后保持打开状态.如果我使用zC,它会关闭fold3并折叠0,但是当我做2zo时折叠4仍然打开.这不是我期望递归折叠关闭工作的方式.有没有办法实现zc,但也递归关闭所有包含的折叠? 我工作的公司指定折叠是通过匹配对来定义的,没有明确的折叠级别,因此涉及显式折叠级别的解决方案是没有用的. 解决方法
以下序列(在你的yyp之后)似乎做你想要的:
v% – 从{在光标下对应的}中直观地选择 zC – 递归地关闭光标下的所有折叠(不幸的是,这包括你想要保持打开的外部折叠) zv – 打开足够的折叠以显示光标线 zc – 关闭新材料的单个外部折叠 当然,您需要将其映射到vimrc中的其他组合键. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angularjs – 如何通过$http服务器端优化与角色ui的前端与服
- WebService-CXF-Spring基于web的cxf
- 如何在angularjs表达式中将字符串转换为数字或日期
- 使用shell脚本监视目录
- Bash – 如果apt-get / dpkg正在运行,如何检查是否可以安装
- 如何使用CamelCase启用Vim搜索
- 网上常用免费WebServices集合
- shell – 在/ bin / sh的参数中处理’ – ‘:POSIX与Bash
- scala – 计算Spark DataFrame中非空值的数量
- Bagging(Bootstrap aggregating)、随机森林(random fore