开发工具 Tmux + Emacs Ctrl+L 冲突

xu_xiang_yang · 2015年06月03日 · 最后由 xu_xiang_yang 回复于 2015年06月05日 · 3642 次阅读

在 tmux 的 window 下开一个 emacs,然后按 ctrl + L,我的目的是希望使用 eamcs 的 ctrl+ L,可以让光标在那一行到屏幕中间。但现在按 ctrl + L 会先闪屏,再将光标那一行定位到屏幕中间。

推测原因是首先 tmux 接收到了 ctrl + L,执行了清屏的命令,然后重绘了 window。这时就闪了。然后 emacs 接到了 ctrl +L 让光标所在行居中了

有木有大神可以给个办法让 tmux 忽略打开 emacs 那个 window 的 ctrl+L

我不希望换快捷键,因为换了快捷键,就相当于你自己再说方言了。。到了服务器上没法沟通。。。。

或者 可以推荐些 对于 tmux 的插件,比如https://github.com/tmux-plugins 也许早就有人解决了这个问题了呢

或者说我整个考虑错了,是 iterm2 的问题。总之就是希望 emacs 可以排在所有的东西的前面,接收到 Ctrl + L,并且将这个事件捕获住。

试一下在 tmux 设置里面加上unbind C-l

#1 楼 @billy 没好使,我觉得也许这是 terminal 的特性,我用了 mac 自带的那个终端,C-L 也可以以清屏。。。。

用 Terminal.app 在 tmux 零配置的情况下试了一下,没问题的,所以估计是你的 tmux 的配置问题

#3 楼 @lululau 试了试貌似和 tmux 也没有关系,当我 eams 打开比较多的 buffer, 分四个屏的时候,再按就会闪了。。。。。

我的配置 https://github.com/xuxiangyang/myconf

也许是 emacs 太慢了。。。或者我的什么 hook 让他变慢了

知道问题了。。。我那个该死的 theme 的原因。。。 (load-theme 'monokai t)

加上这几行配置,用两次 c-l 来刷 tmux 里面的 emacs,两次 c-l 也比较方便,手指不用移动

# PREFIX set -g prefix C-l unbind-key C-b bind-key C-l send-prefix

#6 楼 @hhkbp2 也就是改了 tmux 的前缀?

#7 楼 @xu_xiang_yang 嗯,把前缀就改成 c-l

#7 楼 @xu_xiang_yang 顺便分享一下我的配置吧,效果见图 配置文件在 https://github.com/hhkbp2/dot-config/blob/master/.tmux.conf

9 楼 @hhkbp2 不错。我的看起来是这样的。为了让那个状态栏尽可能的不起眼。。。左边是 session 名,中间是 window 号

#9 楼 @hhkbp2 另外,你使用 emacs 的,为啥木有 emacs 配置可以交流交流。。。。

#11 楼 @xu_xiang_yang emacs 配置当然是有的,我的配置放在 https://github.com/hhkbp2/dot-emacs

PS:上面的“emacs”拼错了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号