有没有人使用 doom-emacs + vterm 的?

在 vterm-mode 里面默认使用的是 C-c C-c 来执行 C-c 的,有没有办法直接使用 C-c ? 默认 C-c 好像是个 prefix,一堆命令在上面。。。

(with-eval-after-load 'vterm
  (evil-define-key 'insert vterm-mode-map (kbd "C-c") 'vterm-send-C-c))

我这没有 evil-define-key ,不过我试过使用 doom eamcs 提供的 map! 改过,改完之后会提示 shadowed .

C-c             vterm-send-C-c
  (that binding is currently shadowed by another mode)

我就是这样的。
还有一点,如果你是zsh vim mode用户的话,必须还要处理esc到底发给谁。

;;; ~/conf/emacs/doom/term.el -*- lexical-binding: t; -*-
(after! (vterm evil-collection)
  (add-hook!
   'vterm-mode-hook
   ;; evil-collection for vterm overrided some keymaps defined by tmux-pane
   (evil-collection-define-key 'insert 'vterm-mode-map
     (kbd "C-h") (lambda () (interactive) (tmux-pane--windmove
                                      "left"
                                      "tmux select-pane -L"))
     (kbd "C-j") (lambda () (interactive) (tmux-pane--windmove
                                      "down"
                                      "tmux select-pane -D"))
     (kbd "C-k") (lambda () (interactive) (tmux-pane--windmove
                                      "up"
                                      "tmux select-pane -U"))
     (kbd "C-l") (lambda () (interactive) (tmux-pane--windmove
                                      "right"
                                      "tmux select-pane -R")))
   ;; change keymap to toggle sending escape to vterm
   (evil-collection-define-key '(normal insert) 'vterm-mode-map
     (kbd "C-c") 'vterm--self-insert
     ;; for CLI emacs
     (kbd "ESC <escape>") 'evil-collection-vterm-toggle-send-escape
     ;; for GUI emacs
     (kbd "M-<escape>") 'evil-collection-vterm-toggle-send-escape)
   ;; send escape to vterm by default
   (evil-collection-vterm-toggle-send-escape)))

您好 @goumao, 我现在使用的也是Doom Emacs + Vterm.

我这里有一个奇怪的问题。 按C-c,执行不出来任何的结果,返回的都是空。问题图片见下方,您知道这个问题的原因吗?

C-c 不就是中断当前的执行吗?按 Enter 是执行当前的命令吧?

我现在换用 Evil 模式了,才发现直接 C-c 就可以用了。用 Doom emacs 还是用 Evil 模式吧。。

你好 @wd1

谢谢您的回复。

但是,我按 Enter,没有任何的反应,没有执行当前的命令。

Hello @wd1,

我发现我用了,上面的这个配置以后。

输入完命令以后必须要先按Esc后,在按 Enter 才可以执行当前的命令。 有没有什么办法,我可以不用按Esc,直接按Enter 就执行当前的命令? 谢谢