You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spacemacs Evil-mode中如何实现Vim的ctrl-x-p与ctrl-x-l补全功能?

在Spacemacs的Evil-mode中复刻Vim的补全操作

当然没问题!Evil-mode作为Vim在Emacs上的复刻层,完全能实现你想要的Vim补全快捷键,而且在Spacemacs里配置起来很直观。我给你详细说说怎么弄:

  • 复刻Ctrl+x+p(单词补全)
    Vim原生的Ctrl+x+p是基于当前缓冲区已有单词的补全,在Evil-mode里,默认已经支持Ctrl+x Ctrl+p这个组合键(和Vim原生逻辑一致)。如果你更习惯Vim里单按p的快捷方式,可以自定义映射:
    打开你的Spacemacs配置文件(~/.spacemacs),找到dotspacemacs/user-config区块,添加这段代码:

    (define-key evil-insert-state-map (kbd "C-x p") 'company-dabbrev)
    

    这里用company-dabbrev是因为Spacemacs默认搭载的Company补全框架,它的dabbrev功能正好对应Vim的缓冲区单词补全,效果和Ctrl+x+p完全一致。

  • 复刻Ctrl+x+l(行补全)
    Vim的Ctrl+x+l是整行内容的补全,Evil-mode默认支持Ctrl+x Ctrl+l来触发。同样,如果你想改成和Vim完全一样的Ctrl+x l,可以在同一个配置区块里添加:

    (define-key evil-insert-state-map (kbd "C-x l") 'company-complete-line)
    

    company-complete-line是Company提供的整行补全功能,能完美复刻Vim行补全的体验。

补充一句:如果你的Spacemacs没有默认启用Company(这种情况很少见),也可以用Emacs原生的dabbrev-expand(对应单词补全)和complete-line(对应行补全)来替换上面的函数名,效果也能达到预期。

内容的提问来源于stack exchange,提问作者David Shaked

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:44:16