Vim 自动补全成对的括号和引号
修改后:
1 :inoremap (()<ESC>i
2:inoremap )<c-r>=ClosePair(')')<CR>
3:inoremap {{}<ESC>i
4:inoremap }<c-r>=ClosePair('}')<CR>
5:inoremap [[]<ESC>i
6:inoremap ]<c-r>=ClosePair(']')<CR>
7:"inoremap <<><ESC>i
8:"inoremap ><c-r>=ClosePair('>')<CR>
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
9:functionClosePair(char)10: if getline('.')[col('.')-1]== a:char11: return"\<Right>"12: else13: return a:char14: endif15:endf
我发现在开发java过程中实际使用过程中用到<>成对出现的几率很小,启用自动补全时会让输入<时自动补全成<>,还要删除一个>,反而造成不便,因此我就把78两行注释掉了。用字符串的时候很多,所以把""弄成了自动补全了,在8 9两行之间添加了两行,就可以了。
支持 2000 行以内(可以根据系统性能自行配置)文档的全局括号对识别能力。 也就是 2000 行以内的文档,支持跨行的括号对智能匹配能力;当文档行数超出预设值, 则使用行内括号对智能补全。
- OpenPair:
- 如果当前行的括号已经成对匹配,则自动补全右括号
(I) - 如果左括号比右括号多,则自动补全
I(()(I()((I)(()I - 如果左括号比右括号少,
I())原样输出,不自动补全(I))同上()I)同上())I自动补全:左括号较少,且光标之后字符串进行一次递归上面的条件
- 如果当前行的括号已经成对匹配,则自动补全右括号
- ClosePair:
- 如果光标之后是一个右括号,向右移动一列
(I)((I)(I))()I) - 否则原样输出。
- 如果光标之后是一个右括号,向右移动一列
原文地址:http://ju.outofmemory.cn/entry/26858
Vim 自动补全成对的括号和引号的更多相关文章
- Vim自动补全神器–YouCompleteMe
YouCompleteMe的特别之处 基于语义补全 总所周知,Vim是一款文本编辑器.也就是说,其最基础的工作就是编辑文本,而不管该文本的内容是什么.在Vim被程序员所使用后,其慢慢的被肩负了与IDE ...
- 【转】Vim自动补全插件----YouCompleteMe安装与配置
原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...
- Vim自动补全插件----YouCompleteMe安装与配置
Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...
- VIM自动补全插件 - YouCompleteMe--"大神级vim补全插件"
VIM自动补全插件 - YouCompleteMe 序言 vim 之所以被称为编辑器之神多半归功于其丰富的可DIY的灵活插件功能,( 例如vim下的这款神级般的代码补全插件YouCompleteMe) ...
- vim 自动补全 颜色设置
vim 自动补全 颜色设置 hi Pmenu ctermfg=black ctermbg=gray guibg=# hi PmenuSel ctermfg= ctermbg= guibg=# guif ...
- Vim自动补全神器:YouCompleteMe
第一次听说这个插件还是在偶然的情况下看到别人的博客,听说了这个插件的大名.本来打算在实训期间来完成安装的,无奈网实在不给力,也就拖到了回家的时候.在开始准备工作的时候就了解到这个插件不是很容易安装,安 ...
- Vim自动补全神器:YouCompleteMe(转)
转自:http://blog.jobbole.com/58978/ 可能会有一段时间写linxu,免不了用vim,留着,找时间实操之 原文出处: marchtea 的博客 第一次听说这个插件还是在偶然 ...
- (转)Vim自动补全神器:YouCompleteMe
原文出处:http://blog.jobbole.com/58978/ 第一次听说这个插件还是在偶然的情况下看到别人的博客,听说了这个插件的大名.本来打算在实训期间来完成安装的,无奈网实在不给力,也就 ...
- Vim自动补全神器–YouCompleteMe
一.简介 YouCompleteMe是Vim的自动补全插件,与同类插件相比,具有如下优势 1.基于语义补全 2.整合实现了多种插件 clang_complete.AutoComplPop .Super ...
随机推荐
- 交互式的Bourne shell
简介 当以交互的方式使用命令行时,shell有一些特殊的内置变量,这些变量中包含一系列选项.如果在选项中包含字母i,则表示shell以交互方式运行. # case "$-" in ...
- 笔记-Python-language reference-5.the import system
笔记-Python-language reference-5.the import system 前言 经常用到import,module,对其中的机制及原理有一定的了解,但没有将各种信息前后连通起来 ...
- Java线程和多线程(五)——单例类中的线程安全
单例模式是最广泛使用的创建模式之一.在现实世界之中,诸如Databae的连接或者是企业信息系统(EIS)等,通常其创建都是受到限制的,应该尽量复用已存在对象而不是频繁创建销毁.为了达到这个目的,开发者 ...
- 为什么工具类App,都要做一个社区?
非著名程序员涩郎 非著名程序员,字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!个人微信号:loonggg,微博:涩郎,专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿 ...
- 孤荷凌寒自学python第三十六天文件内容的迭代操作
孤荷凌寒自学python第三十六天python的文件操作对文件内容的迭代操作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.os模块的其它文件操作方法补充 1 os.remove(文件 ...
- SQL查询oracle的nclob字段
使用CONTAINS关键字查询NCLOB字段 SELECT FORMATTED_MESSAGE FROM TBL_LOG WHERE CONTAINS(FORMATTED_ME ...
- ThreadPoolExecutor源码解析
LZ目前正在做一个批量生成报表的系统,需要定时批量生成多张报表,便考虑使用线程池来完成.JDK自带的Executors工具类只提供创建固定线程和可伸展但无上限的两个静态方法,并不能满足LZ想自定制线程 ...
- MySQL之优化总结
http://www.cnblogs.com/benshan/archive/2012/07/27/2612212.html MySQL之优化总结 今天,数据库的操作越来越成为整个应用的性能瓶颈 ...
- vue cli & npm err & shit cnpm
vue cli & npm err & shit cnpm npm err & shit cnpm https://github.com/vuejs/vue-cli/issue ...
- 自适应注意力机制在Image Caption中的应用
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...