zoukankan      html  css  js  c++  java
  • 将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设置.

  • 相关阅读:
    H265播放器EasyPlayer.js首次加载出现Uncaught (in promise) DOMException错误信息
    合并数组并去重(ES5和ES6两种方式实现)
    ant vue transfer 使用
    python算法实现list转tree 型结构
    django choices 字段处理返回枚举值
    threadExecutor 异步应用
    自定义实现httprunner debugtalk 的函数助手功能
    【洛谷P4022】熟悉的文章
    【HDU7060】Separated Number
    【洛谷P2605】基站选址
  • 原文地址:https://www.cnblogs.com/pangchol/p/3506863.html
Copyright © 2011-2022 走看看