前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决 evil 模式下,TAB 在 org-mode 失效的问题

解决 evil 模式下,TAB 在 org-mode 失效的问题

作者头像
飞驰的西瓜
发布2022-12-14 18:27:24
6680
发布2022-12-14 18:27:24
举报
文章被收录于专栏:EmacsTalk

在 Org 中,TAB 被绑定在了 org-cycle ,可以非常方便的对某个标题下的内容折叠/展开,但是在 evil 的 normal 模式下,TAB 则被覆盖成了 evil-jump-forward ,这其实是和 Vim 对应的[1]

  • Ctrl-i jump forward to the next (newer) location.
  • Ctrl-o to jump back to the previous (older) location.

同时,又由于在终端中, TAB 与 C-i 发送的是相同的 keycode 9(即 Character Tabulation[2]),所以导致了上面的行为。

由于笔者大多数不会用到 evil 的 jump 功能,所以一种简单的修复就是直接关闭它:

代码语言:javascript
复制
(setq evil-want-C-i-jump nil)

注意一点:这个初始化需要在加载 evil 前执行。如果使用 use-package 可以使用下面的方式:

代码语言:javascript
复制
(use-package evil
  :custom ((evil-want-C-i-jump nil))
  :config (evil-mode))

如果希望保留 evil 的 jump 功能,可以尝试把 TAB 与 C-i 区分开

  • • key bindings - How to distinguish C-i from TAB? - Emacs Stack Exchange[3]
  • • https://emacs.stackexchange.com/a/20290/16450

参考

  • • “Fix” the tab key for visibility cycling in Org and Evil mode[4]
引用链接

[1] Vim 对应的: https://zhuanlan.zhihu.com/p/270989474 [2] Character Tabulation: https://en.wikipedia.org/wiki/Tab_key [3] key bindings - How to distinguish C-i from TAB? - Emacs Stack Exchange: https://emacs.stackexchange.com/questions/17509/how-to-distinguish-c-i-from-tab [4] “Fix” the tab key for visibility cycling in Org and Evil mode: https://jeffkreeftmeijer.com/emacs-evil-org-tab/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EmacsTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档