gpt4 book ai didi

emacs - tmux 干扰 emacs 命令? (windmove-default-keybindings)

转载 作者:行者123 更新时间:2023-12-03 18:57:19 24 4
gpt4 key购买 nike

(windmove-default-keybindings 'meta)提供在 emacs 窗口之间移动的命令(例如 M-<up> 向上移动一个窗口)。当 emacs -nw 时,它们对我来说很好用在终端中运行,但在 tmux 中失败。

单个命令有效,例如 winmove-up ;运行时他们告诉我:

You can run the command winmove-up with M-<up>



但是到 M-<up>本身,我得到:

ESC <up> is undefined



与任何其他前缀键( shiftcontrol )相同的问题。

这分别在 Ubuntu 12.04 和 14.04 下的 tmux 1.9a/emacs 23.3.1 和 tmux 2.0/emacs 24.5.1 中。在第一种情况下,我使用“gnome-terminal”。在第二个......我ssh'ing到一个服务器和TERM环境变量是“xterm”。一旦我启动 tmux,它就会变成“screen-256color”;那是因为我用过 set -g default-terminal
想法?

最佳答案

在@Random832 的帮助下,this question 的答案和第一个回答 this one ,以及在对 this question 的回答中有关 emacs 如何处理功能键的一些有用信息,有两种方法:

方法#1:在您的 .tmux.conf , 使用 xterm-keys on ,而且,如果您使用 256 色,则设置您的 default-terminal正确:

set -g xterm-keys on
set -g default-terminal "xterm-256color"

方法#2:在终端,运行 cat然后输入 M-<up>等找到输出。就我而言,它是: ^[[1;3A (和B&C&D)。然后,在您的 .emacs 中使用此代码文件:
(add-hook 'term-setup-hook
'(lambda ()
(define-key function-key-map "\e[1;3A" [M-up])
(define-key function-key-map "\e[1;3B" [M-down])
(define-key function-key-map "\e[1;3C" [M-right])
(define-key function-key-map "\e[1;3D" [M-left])))

请注意,第二种方法也适用于其他前缀键( ShiftControl )并且同样的问题出现在 screen 中.

另请注意,除了 gnus 之外,一切似乎都运行良好。文章摘要缓冲区,其中 M-<up>M-<dn>表现得像 <up><dn> (虽然 M-<rt>M-<lft> 工作正常)。

关于emacs - tmux 干扰 emacs 命令? (windmove-default-keybindings),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34084245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com