V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuhangch
V2EX  ›  程序员

ideavim 如何设置在弹出代码补全时 <ESC> 不退回 Normal

  •  
  •   yuhangch ·
    yuhangch · 2021-12-15 15:52:08 +08:00 · 1386 次点击
    这是一个创建于 1084 天前的主题,其中的信息可能已经有所发展或是发生改变。

    和 Copilot 一起用有点小问题

    在 INSERT 模式下,假如 IDE 和 Copilot 同时给出补全建议

    此时想接受 Copilot 的提示会比较麻烦:

    • 直接按 tab 会接受 IDE 的代码补全
    • 按 ESC ,可以关闭 IDE 的补全,但退回了 NORMAL 模式,再按 Tab 也没法接受 Copilot 的补全了

    希望配置这么一个效果: 在 IDE 弹出代码补全时,ESC 关闭代码补全同时不退回到 NORMAL 模式,请 v 友指点🍻

    4 条回复    2022-01-18 14:19:19 +08:00
    scxiazi
        1
    scxiazi  
       2021-12-15 16:09:34 +08:00
    改键映射
    LicenseXu
        2
    LicenseXu  
       2021-12-15 17:01:42 +08:00
    因为习惯使用<Enter> 选择代码补全,所以在 Vim 里面,使用 YCM 的时候,回车会选到下一行
    LicenseXu
        3
    LicenseXu  
       2021-12-15 17:02:52 +08:00
    没有编辑完就发布了。。。我在 vimrc 里面是这么弄的,然后尝试在 ideavim 里面配置 <ESC>,发现还不支持 pumvisible
    inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>"
    orangeD
        4
    orangeD  
       2022-01-18 14:19:19 +08:00
    遇到相同的问题, 现在补全的时候很别扭,要按两次 ESC ,然后按快捷键让 Copilot 重新显示,在按 Tab 补全才能代码上屏。不知道有没有最佳解决方案。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1123 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:54 · PVG 02:54 · LAX 10:54 · JFK 13:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.