将vim的UltiSnips的快捷键彻底从tab键中分离
在我之前的<<vim之补全1>>和<<vim之补全2>>中曾经成功的将vim的supertab和UltiSnips共用一个tab键, 这样做的优点的两种补全的触发都变得比较方便, 存在的问题有如下几点:
1. supertab不能使用最新版本, 必须使用vim.org中出现的2.0版.
2. UltiSnips虽然可以和supertab正常的共用的tab键, 但由于两个插件的共同作用导致tab键在正常的supertab(保持默认的<ctrl+p>模式)触发后是上选功能但在其他补全方式中却神奇的变成的下选功能. 重点是shift+tab键也变成的下选功能.
3. 两者共用的tab键有时候还是会出现相互误用的问题.
综合上面的问题, 现在决定两二者的tab键功能模式取消, 保持supertab的tab键功能. 将UltiSnips的快捷键从tab中彻底分离.
通过阅读UltiSnips的帮助文档最终实现了这个想法, 具体配置和说明如下:
"UltiSnips
"插入模式下直接通过ii键来触发UltiSnips的代码块补全
let g:UltiSnipsExpandTrigger="ii"
"iI弹出UltiSnips的可用列表,不常用的, 所以这里设置成了特殊的iI映射
let g:UltiSnipsListSnippets="iI"
"II跳转的到下一个代码块可编辑区
let g:UltiSnipsJumpForwardTrigger="II"
"OO跳转到上一个代码块可编辑区
let g:UltiSnipsJumpBackwardTrigger="OO"
之所以用上面的这些特殊的双键映射是因为"ii"是我现在剩下不多的无冲突,易操作,不容易影响正常输入的王牌双键映射了. 这些键集中在i和o键, 易于记忆和操作
更多的原因请参见<<vim之补全1>>和<<vim之补全2>>.
通过上面的设置之后, UltiSnips对tab键就彻底没有影响了, 我们可以正常使用最新版的supertab. 同时tab的所有功能都跟随supertab设置.
将vim的UltiSnips的快捷键彻底从tab键中分离的更多相关文章
- [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)
一.Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理.在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格, ...
- Ubuntu vim终端常用的快捷键
Ubuntu中常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷 ...
- 你想要的sublime、webstorm、vi/vim不得不用的快捷键【简报】【实用】
你想要的sublime.webstorm.vi/vim不得不用的快捷键[简报][实用] 话不多说,马上走起: Sublime Text: ctrl+d alt+f3全选 ctrl+shift+’ ...
- .project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示
project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示 event log中报:IllegalArgumentException:Mul ...
- sublime插件emmet的配置、使用及快捷键Ctrl+E修改成Tab键操作
一.emmet在sublime中的配置与使用: 1.点击sublime text 3的图标,打开编辑器: 2.按键“ctrl+shift+p”,或者单击菜单->工具->命令面板: 3.打开 ...
- vim的tab键设定
多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示.事实上tab也确实是8个空格的长度.不过由于习惯问题,某些童鞋还是 ...
- linux系统下Vi编辑器或者Vim编辑器设置显示行号、自动缩进、调整tab键宽度的技巧?
工作中嫌vim 中一个tab键的宽度太大,linux系统默认,没改之前是一个tab键宽度是8个字符,想改成4个字符, 操作如下:(注意:这是在root用户下)cd ~vim .vimrc添加如下几行: ...
- Linux 下 vim 编辑文件,解决中文乱码,设置Tab键空格数
vim编辑文件的时候,输入中文就出现乱码 解决办法: 以哪个用户登录的就在哪个用户目录下创建文件 vimrc vim .vimrc (.创建的是隐藏文件) 文件内容: set tabsto ...
- vi/vim tab键空格数修改
更改Tap键单位 vi/vim编辑器默认情况下,每按一次Tap相对于8个空格. (1)临时性更改 使用vi打开文件后,输入如下命令: :set tabstop=4 命令释义:更改为相当于四个空格. ( ...
随机推荐
- CSS filter 模拟黑洞照片效果
今天被世界上第一张黑洞照片刷屏. 一整天,哪里都是这张照片.看的多了.我就想用css做一个吧. 建议在chrome上查看. 访问地址:http://suohb.com/work/blankHole.h ...
- mysql模糊查询语句
select * from tbl_actor where first_char like 'p%' order by first_char;
- Spring mvc+Easyui遇到的几个问题
简单的一个数据表的增删查改的总体界面的展示效果例如以下图: 1.datagrid数据载入问题 datagrid通过url请求后台数据,总记录数和数据行的属性是固定死的.数据行是rows,总记录数为to ...
- ssh连接失败
参考:http://www.cnblogs.com/starof/p/4709805.html https://www.chenyudong.com/archives/ssh-using-privat ...
- 1.7-BGP①
IGP: 包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议 运行在同一个AS中, 通过Cost/Metirc来判断路由的优劣(越小越好): AS:自治系统(小) A ...
- vsftpd conf 解釋
Linux中vsFTP位置约定:/usr/sbin/vsftpd ---- VSFTPD的主程序/etc/rc.d/init.d/vsftpd ---- 启动脚本/etc/vsftpd/vsftpd. ...
- DetachedCriteria的使用
设计上能够灵活的依据 Criteria 的特点来方便地进行查询条件的组装.如今对 Hibernate的Criteria 的使用方法进行总结: Hibernate 设计了 CriteriaSpec ...
- Qt Quick综合实例之文件查看器
假设你基于Qt SDK 5.3.1来创建一个Qt Quick App项目,项目模板为你准备的main.qml文档的根元素是ApplicationWindow或Window.这次我们就以Applicat ...
- 【Ubuntu】无法挂载磁盘
我的电脑分了三个分区,A,B,C,其中A和B是Windows盘,C是ubuntu系统盘 某日发现A ,B盘没法进入了,在文件管理器中点一下,没有反应.于是右击盘符,点击挂载,跳出错误信息: (划重点) ...
- Codesys——限定符的使用方法[来自Codesys的Help]
Qualifier for actions in SFC In order to configure in which way the actions should be associated to ...