2013-03-01 41 views
4

我試圖將指令M-.(即<ALT> .)發送到Emacs中運行於multi-term的終端。作爲參考,M-.通常結合到插入前一命令的最後一個參數在終端(即yank-last-arg/insert-last-argument如何發送M-。到Emacs中的終端(多項)

我有以下成立:

(require 'multi-term) 
(multi-term-keystroke-setup) 
(setq multi-term-program "/home/john/sw/zsh/bin/zsh") 

(setq term-bind-key-alist 
    (list 
    (cons "C-c C-j" 'term-line-mode) 
    (cons "C-c C-k" 'term-char-mode) 
    (cons "C-p" 'term-send-raw) 
    (cons "C-n" 'term-send-raw) 
    (cons "C-a" 'term-send-raw) 
    (cons "C-e" 'term-send-raw) 
    (cons "M-b" 'term-send-backward-word) 
    (cons "M-f" 'term-send-forward-word) 
    (cons "M-d" 'term-send-forward-kill-word) 
    (cons "C-k" 'term-send-raw) 
)) 
) 

# Make sure yanking works: 
(add-hook 'term-mode-hook (lambda() 
          (define-key term-raw-map (kbd "C-y") 'term-paste))) 

我曾嘗試添加:

(cons "M-." 'term-send-raw) 

但它似乎沒有做任何事情。

如果它是有用的,這裏似乎有長期的前綴,並且在term.el

term-send-M-x 
term-send-backspace 
term-send-backward-kill-word 
term-send-backward-word 
term-send-del 
term-send-down 
term-send-end 
term-send-eof 
term-send-forward-kill-word 
term-send-forward-word 
term-send-home 
term-send-input 
term-send-insert 
term-send-invisible 
term-send-left 
term-send-next 
term-send-prior 
term-send-quote 
term-send-raw 
term-send-raw-meta 
term-send-reverse-search-history 
term-send-right 
term-send-up 

回答

3

定義我沒有multi-term來測試它的命令列表,但你可以嘗試使用term-send-raw-meta而不是term-send-raw

(setq term-bind-key-alist 
    (list (cons "C-c C-j" 'term-line-mode) 
      ; ... 
      (cons "M-." 'term-send-raw-meta))) 
+0

不能相信我沒有想到這一點。有效!謝謝 – 2013-03-01 19:08:21