“gg=G”中“=”的工作机制是怎样的

PHPz
发布: 2016-06-06 20:44:00
原创
3094人浏览过

“gg=G”中“=”的工作机制是怎样的

“gg=g”中“=”的工作机制是怎样的?

VIM有个 gg=G 格式化代码指令。

gg=G 里只有 = 才是关键,剩下的只是帮助 = 确定作用范围而已。

= 的工作机制是这样的:

1、首先它寻找用户指定的外部缩进工具,若有则使用该工具对目标范围进行缩进操作。用于指定外部缩进工具的选项是 equalprg,你应该看一下关于它的文档,另外vimcasts 有一期视频演示了一个实例,在该实例中 Drew Neil 演示了如何使用 Par 来格式化纯文本,之后还有一个实例演示了用 pandoc 来格式化 HTML。尽管这两个例子里使用的是 formatprg 和 formatexpr 参数(对应的是 gq 而不是 =,即格式化而不是缩进),但原理和用法却是相通的。

2、然而 equalprg 默认值是空,如果你没有合适的外部缩进工具,Vim 就会使用内置的缩进功能 C-indenting 和 'lisp',这两个的文档你也最好看一看。此外若你使用的 Vim 编译时未包含内置缩进功能的话,就会用自带的 indent() 函数来干活儿——这是最后的手段了,文档也值得一看(你自己写缩进脚本时可以用到)。

EnablePPA中小学绩效考核系统2.0
EnablePPA中小学绩效考核系统2.0

无论从何种情形出发,在目前校长负责制的制度安排下,中小学校长作为学校的领导者、管理者和教育者,其管理水平对于学校发展的重要性都是不言而喻的。从这个角度看,建立科学的校长绩效评价体系以及拥有相对应的评估手段和工具,有利于教育行政机关针对校长的管理实践全过程及其结果进行测定与衡量,做出价值判断和评估,从而有利于强化学校教学管理,提升教学质量,并衍生带来校长转变管理观念,提升自身综合管理素质。

EnablePPA中小学绩效考核系统2.0 0
查看详情 EnablePPA中小学绩效考核系统2.0

3、还有一个重要的设置是 indentexpr。刚才说过若 equalprg 未设置,= 会使用C-indenting 和 'lisp' 的功能,但如果此时设置了 indentexpr 的话,则会取代前面二者以及其他所有的内置缩进表达式(indent-expression)。

如果你对 equalprg 和 indentexpr 傻傻分不清楚,很简单:前者只影响 = 的效果而后者决定所有的缩进功能,比如说我们除了可以使用 = 调整缩进之外,在 INPUT 模式下换行 Vim 也会自动调整缩进。所以 indentexpr 的影响范围更大,也是用来自定义缩进规则的主要手段(同时还有一个 indentkeys 也很有用,这俩的文档更要好好看)。

更多相关技术文章,请访问PHP中文网

相关标签:
php
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号