【问题标题】:How to send M-. to terminal (multi-term) in Emacs如何发送 M-。到 Emacs 中的终端(多项)
【发布时间】:2013-03-01 15:54:31
【问题描述】:

我正在尝试将命令 M-.(即 <ALT> .)发送到在 Emacs 中以 multi-term 运行的终端。作为参考,M-. 通常绑定在终端中插入前一个命令的最后一个参数(即yank-last-arg / insert-last-argument

我有以下设置:

(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

【问题讨论】:

    标签: emacs terminal ansi-term


    【解决方案1】:

    我没有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)))
    

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多