【问题标题】:Emacs, org-mode, evil-mode - TAB key not workingEmacs,组织模式,邪恶模式 - TAB 键不起作用
【发布时间】:2014-05-17 16:53:35
【问题描述】:

我使用 VIM 已经有几十年了,而且我已经非常精通了。然而,我有点……被 Emacs 的org-mode 所吸引,为了尝试它,我安装了 Emacs 和 Evil。

Evil 满足了我大部分与 VIM 相关的肌肉记忆,所以我继续测试 org-mode - 并遇到了我的第一个问题:当我在自己的窗口中生成 Emacs(即 emacs plan.org)然后 TAB关键作品,打开和关闭我的计划部分就好了。但是,TAB 在我以文本模式使用 Emacs 时(即在我的 XTerms 中,通过“emacs -nw plan.org”)什么也不做。这是我最感兴趣的状态,因为我通常通过 SSH 连接在 screen/tmux 内部工作。

如果它与 Evil-mode 冲突,我不明白为什么 - 我不知道 VIM 正常模式下的任何 TAB 功能(这是我们在打开/关闭 org-mode 部分时所处的状态)。

有任何 Emacs 专家对为什么会发生这种情况提出建议吗?

【问题讨论】:

    标签: emacs org-mode evil-mode


    【解决方案1】:
     (define-key evil-normal-state-map (kbd "M-i") 'evil-jump-forward)
     (define-key evil-normal-state-map (kbd "M-o") 'evil-jump-backward)
    

    我将这个功能绑定到其他键,所以它也可以工作。

    【讨论】:

      【解决方案2】:

      试试

      (setq evil-want-C-i-jump nil)
      

      在你的 ~/.emacs 之前

      (require 'evil) 
      

      邪恶有,在 evil-maps.el

      (when evil-want-C-i-jump
        (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward))
      

      这应该让您恢复 org-mode Tab 功能

      【讨论】:

      • 这是非常邪恶的功能。
      【解决方案3】:

      我几乎没有使用终端的经验。但是,我知道 TAB 相当于 C-i。也许那个会通过终端?如果可行,您可以为每个 TAB 操作添加一些键绑定吗?

      也可以尝试 C-h k TAB 以查看 TAB 是否通过网络发送。

      【讨论】:

      • 试过C-i,什么也没做。然后我尝试了 C-h k TAB,但是当我点击“C-h”时,我在底线打印了一个“行首”消息 - 也许 Evil 拦截了这个组合键?
      • 经过进一步调查:您的意思可能是 C-c C-i (对不起,我对 Emacs 的东西相当无知),它确实 工作。在控制台下运行时,有什么可以添加到我的 .emacs 以将“TAB”映射到 C-c C-i 的吗? (XTerms 等)
      • 您可以这样做:(define-key org-mode-map (kbd "<tab>") 'org-cycle)。确实 TAB 在控制台中不起作用(绑定到 evil-jump-forward)。
      • 或者试试(define-key org-mode-map (kbd "C-i") 'org-cycle)?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 2012-05-01
      • 2016-07-17
      相关资源
      最近更新 更多