热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

后端开发|php教程php,vim后端开发-php教程农场源码,MT8516Ubuntu,最新ip代理爬虫,phpview,商铺seo标题lzwe语言源码,ubuntu怎么禁止串口

后端开发|php教程“gg=G”中“=”的工作机制是怎样的
php,vim
后端开发-php教程
农场源码,MT8516 Ubuntu,最新ip代理爬虫,php view,商铺seo标题lzw
e语言 源码,ubuntu怎么禁止串口,台州爬虫软件招聘,php试衣,seo重要元素lzw
“gg=G”中“=”的工作机制是怎样的?
动态企业源码,ubuntu的垃圾类型,tomcat7与jdk18,怪兽档案爬虫电影,php下载安装配置教程,seo营销找lzw
VIM有个 gg=G 格式化代码指令。

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

= 的工作机制是这样的:

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

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

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

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

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


推荐阅读
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • 电脑f5键是什么作用
    常见问题f5常见问题韩亚整形医院源码,vscode写前端代码,ubuntu低配,tomcat下载路径乱码,爬虫_gscu,php精粹pdf,广州快速seo优化排名,aspwap网站 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • 最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间。尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅。所以今天特意把 ... [详细]
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • QuestionThereareatotalofncoursesyouhavetotake,labeledfrom0ton-1.Somecoursesmayhaveprerequi ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
author-avatar
曹衡斌_307
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有