spacemacs在终端下如果C-i默认是tab,这样就不能evil-jump-forward了
默认就没问题呀,在终端下面 ctrl-i 和TAB是等价的,我看evil 默认的normal模式下面 TAB就是jump-forward,而Ctrl-o是jump back。你是怎么使用的?
-
是怎么个不能用?
-
用最小配置试试:
$ emacsq.sh -P evil -M evil-mode -nw
我配置成了tab弹出company的补全框,所以想知道有没有办法让c-i和tab分开
就是tab和c-i是相同的,能不能把这两个分开
终端不能分辨 <tab>和 C-i
我的做法是用 xkeysnail 把特定的键(Ctrl-I
)映射到一个平时用不上的按键序列(F2-1-0-0
),再在 emacs 里面把这个按键序列映射到想要的功能。
xkeysnail:
emacs:
这个方法应该可以
这个方法要在终端下生效,就得终端支持把c-i映射成自定义的序列吧?
终端的处理是 xkeysnail 之后完成的,
键盘 --> xkeysnail --> 终端 --> emacs
键盘按下 ctrl-I
之后,终端看来用户按下的是 f2-1-0-0
;这个转换过程对终端是透明的。
在windows下就只能靠终端来映射了吧
如果终端是 iTerm2 可以更改按键映射:
$ emacs -Q -nw --eval "(progn
;; this is C-i
(global-set-key (kbd \"\e[emacs-C-i\") (lambda () (interactive) (message \"C-i\")))
;; this is TAB
(global-set-key (kbd \"TAB\") (lambda () (interactive) (message \"TAB\"))))"
公司的只能用win,真是难办
我之前用 windows 弄按键映射的时候用的是 autohotkey,它可以调一些 windows 的 api,理论上是可以只在特定应用下启用映射的。刚刚查了下似乎也可以:automation - AutoHotKey: How to make my script run only within a specific program? - Super User
这个确实可以 我弄过
这个better-jump比起原来的jump改进了哪里?
不知道 ,都是 doom 自带的。
装个虚拟机跑 linux 能省很多事
网都没有~~
学到了,原来可以 [xxx 这样