资讯专栏INFORMATION COLUMN

Vim-Auto-pairs总结

iOS122 / 3216人阅读

摘要:这个时候,它和是同样的意思。但是,自动补全括号中,有一个功能,需要用到键,即键。,也就是按,再按即可。

用过Sublime的都知道,写引号、括号之类配对的文字时,它都会智能的自动补全另一边括号。
同样,VIM也有很多实现它的插件。

其中比较轻量好用的有autocloseauto-pairs,而auto-pairs更智能、更全面。

参考官网:jiangmiao/auto-pairs

官方Repo的介绍很清楚的解释了每种用法,扫一眼就都明白了。

这里记录一些高级的问题。

键的问题

初看,并不明白在键盘上是什么?Google了很久也查不到。最后终于在查关键字Vim Key Notation发现了,原来代表Meta key,在很多终端或平台是不支持的。偶尔有支持的,那就是Alt键。这个时候,它和是同样的意思。

但是,自动补全括号中,有一个fast wrap功能,需要用到键,即Alt-e键。可是不管怎么按,在insert还是normal模式按,都只会输出一个奇怪符号´,而不执行命令。

为什么?
因为Alt快捷键,在很多Terminal或平台都是不支持的,比如Mac的终端。

经过一番查询,Mac的iTerm2可以将Alt(Option)键映射为Meta键。
位置为:Preference -> Profiles -> Keys -> Left Option key -> ESC+.

然后就能解决fast wrap的问题了,效果如官方解释一样非常方便:

input: |"hello" (press ( at |)
output: ("hello")

wrap string, only support c style string
input: |"hel"lo" (press ( at |)
output ("hello"")

input: |[foo, bar()] (press ( at |)
output: ([foo, bar()])

除了Alt-e外,还有很多自动补全括号引号的按键:

System Shortcuts:
      : Insert new indented line after return if cursor in blank brackets or quotes.
      : Delete brackets in pair
     : Toggle Autopairs (g:AutoPairsShortcutToggle)
     : Fast Wrap (g:AutoPairsShortcutFastWrap)
     : Jump to next closed pair (g:AutoPairsShortcutJump)
     : BackInsert (g:AutoPairsShortcutBackInsert)

If   or  conflict with another keys or want to bind to another keys, add

    let g:AutoPairsShortcutToggle = ""

to .vimrc, if the key is empty string "", then the shortcut will be disabled.

如果Alt键太难按,也可以设置mapping如:

imap e ,也就是按Ctrl-d,再按e即可。

imap p ,也就是按Ctrl-d,再按p即可。

或者:

imap ,那么之后就都一样了,只要按Ctrl-d,再按e/p/n/b/{等等

注意:设置映射时候,不能用inoremap了,实践中,只有imap才能生效。

JSON自动补全问题

一开始非常奇怪,在我写一个*.json文件时候,每次输完一对引号,在其中输入数字时候,所有引号就全部消失。一开始以为是bug,结果发现是插件有意为之!
也就是说,auto-pairs等多种插件,都会为了方便阅读,自动帮你隐藏JSON中的引号,让它看起来更简介,更像YAML文件。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25058.html

相关文章

  • 2016年总结 - 收藏集 - 掘金

    摘要:然而这次的文章,就像贺师俊所说的这篇文章是从程序员这个老年度总结前端掘金年对我来说,是重要的一年。博客导读总结个人感悟掘金此文着笔之时,已经在眼前了。今天,我就来整理一篇,我个人认为的年对开发有年终总结掘金又到 2016 Top 10 Android Library - 掘金 过去的 2016 年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一...

    DataPipeline 评论0 收藏0
  • 【经验分享】测试人员如何写总结

    摘要:参与者项目经理产品经理开发经理测试经理及其它相关人员。项目上线后问题反馈针对项目客户反馈问题进行分析总结,类似缺陷分析,重点总结遗漏的原因及后需的规避措施。六汇总整理各部门总结并发布基于测试总结过程中的数据分析,我们提出了对部门的建议。 最近参与了几次面试,面试者的简历中都会提及:需求或者...

    Vixb 评论0 收藏0
  • Java学习路线总结,搬砖工逆袭Java架构师(全网最强)

    摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...

    Scorpion 评论0 收藏0
  • 全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

    摘要:本书主要探索函数式编程的核心思想。我们在中应用的仅仅是一套基本的函数式编程概念的子集。我称之为轻量级函数式编程。通常来说,关于函数式编程的书籍都热衷于拓展阅读者的知识面,并企图覆盖更多的知识点。,本书统称为函数式编程者。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 译者团队(排名不分先后)...

    paney129 评论0 收藏0
  • 【物理总结】初中物理重要常数、单位换算、概念、规律和理论及知识的应用归纳大全梳理总结...

    摘要:初中物理重要常数重要单位换算梳理总结初中物理重要概念规律和理论及知识的应用归纳大全版权声明来源环球物理,编辑仅用于学术分享,版权属于原作者。 初中物理重要常数、重要单位换算梳理总结 >>>> 初中物理重要概念、规律和理论及知识的应用归纳大全 —版权声明— 来源:环球物理,编辑:nhy...

    sorra 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<