【问题标题】:Bind C-z in evil mode to escape to shell以邪恶模式绑定 C-z 以逃逸到 shell
【发布时间】:2014-10-31 02:22:40
【问题描述】:

在 Emacs 邪恶模式中,组合键C-z 是切换邪恶模式。我想重新绑定它以转义到 shell。我该怎么做?

我读过关于 eshell 的文章,它看起来很棒,但现在我想先使用我的 zsh shell。

Multi term 似乎是为这项工作设计的,但我认为转义到 shell 对我来说很好,因为我已经习惯了 Vim 中的这种流程。

感谢阅读。

【问题讨论】:

    标签: emacs evil-mode


    【解决方案1】:

    也许你需要的是 C-x C-z。

    【讨论】:

      【解决方案2】:

      只是有相同的要求,这是我的配置:

      (add-to-list 'load-path "~/.emacs.d/evil")
      (add-to-list 'load-path "~/.emacs.d/evil/lib")
      (setq evil-toggle-key ""); remove default evil-toggle-key C-z, manually setup later
      (require 'evil)
      (evil-mode 1)
      
      ;; remove all keybindings from insert-state keymap, use emacs-state when editing
      (setcdr evil-insert-state-map nil)
      
      ;; ESC to switch back normal-state
      (define-key evil-insert-state-map [escape] 'evil-normal-state)
      

      参考: 1.https://gist.github.com/kidd/1828878
      2.https://askubuntu.com/questions/99160/how-to-remap-emacs-evil-mode-toggle-key-from-ctrl-z

      【讨论】:

        【解决方案3】:

        C-x C-z 将暂停框架并将您返回到 shell。

        C-z 正如你提到的那样打开/关闭邪恶模式。

        我像这样交换他们的邪恶行为:

        (define-key evil-motion-state-map (kbd "C-z") 'suspend-frame)
        (define-key evil-emacs-state-map (kbd "C-z") 'suspend-frame)
        (define-key evil-motion-state-map (kbd "C-x C-z") 'evil-emacs-state)
        (define-key evil-emacs-state-map (kbd "C-x C-z") 'evil-exit-emacs-state)
        

        参见this commit 的示例(我也让C-z 在插入/替换模式下模拟vim 行为)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-11
          • 1970-01-01
          • 2015-06-10
          • 2015-07-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多