我使用此函数将原始命令发送到终端:
(defun raw (str)
(interactive "sKey: ")
(term-send-raw-string (read-kbd-macro str)))
但是read-kbd-macro
<C-left>
返回[C-left]
这不是字符串。
我也试过:
(term-send-raw-string "\C-\eOD")
和
(define-key term-raw-map (kbd "<C-left>") 'term-send-raw)
但那些也行不通。
我怎样才能发送C-left呢?
答案 0 :(得分:3)
我的设置文件中有以下代码段,其目的与您完全相同:使用 C-&lt; arrows&gt;
在bash提示符上按字词移动(defun term-send-Cright () (interactive) (term-send-raw-string "\e[1;5C"))
(defun term-send-Cleft () (interactive) (term-send-raw-string "\e[1;5D"))
(define-key term-raw-map (kbd "C-<right>") 'term-send-Cright)
(define-key term-raw-map (kbd "C-<left>") 'term-send-Cleft)
我使用以下技巧找到了\e[1;5C
和\e[1;5D
代码:
cat >/dev/null
找到它们的另一种方法是输入一个终端: C-v C-&lt; left&gt;