gpt4 book ai didi

Emacs Ctrl 修饰符在控制台中不起作用

转载 作者:行者123 更新时间:2023-12-05 01:18:11 25 4
gpt4 key购买 nike

我有 2 个用于 dired 的热键,它们在 Emacs 的 GUI 模式下工作:

(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "C-<up>")
(lambda () (interactive) (find-alternate-file "..")))))

(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "C-<right>") 'diredp-find-file-reuse-dir-buffer)))

但是当我在控制台中单击 CTRL+→ 或 CTRL+↑ 时,光标就像按下了箭头一样移动。

当我尝试 CTRL+H K 然后 CTRL+→ 时,它给了我正确的键文档,就好像根本没有按下 CTRL 一样。

如何在控制台中修复这种奇怪的行为?

我使用的是 Linux Slackware 14、Emacs 24.2.1。

最佳答案

这是算法,如何使修饰键在终端的 Emacs 中工作。

1.创建一个包含内容的文件funcskeys:

control keycode 105 = F100
string F100 = "\033[1;5D"
control keycode 106 = F101
string F101 = "\033[1;5C"
control keycode 103 = F102
string F102 = "\033[1;5E"
altgr keycode 105 = F103
string F103 = "\033[1;5F"

最后一定是空行!

2.在root下加载文件:
#loadkeys funcskeys
3.把这个放到.emacs的开头:
(unless (display-graphic-p)
(progn
(define-key input-decode-map "\e[1;5C" [(control right)])
(define-key input-decode-map "\e[1;5D" [(control left)])
(define-key input-decode-map "\e[1;5E" [(control up)])
(define-key input-decode-map "\e[1;5F" [(meta left)])))

算法结束

此热键将起作用后:
(global-set-key (kbd "C-<right>") 'forward-word)
(global-set-key (kbd "C-<left>") 'backward-word)

关于Emacs Ctrl 修饰符在控制台中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131367/

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