So überschreiben Sie Tastenkombinationen für `term`


8

Für einige Aufgaben wie die Verwendung von Ruby pryund tmuxbeiden eshellund shellverhalten sich nicht gut. Ich habe versucht, es zu verwenden term, aber meine Unfähigkeit, die Tastenkombinationen zu überschreiben, termmacht seine Verwendung ärgerlich.

Wie kann ich beispielsweise festlegen, M-owie other-windowund M-kwie kill-bufferbei der Verwendung term?


5
Meine Tastenkombinationen funktionieren termnur im Zeilenmodus C-c C-j. Ich schalte den Char-Modus einfach um, C-c C-kwann immer es nötig ist.
Vamsi

Ich wusste nichts über C-c C-jund C-c C-k! Vielen Dank!
Renan Ranelli

Antworten:


6

Vielleicht ansi-termwäre die Verwendung stattdessen etwas weniger ärgerlich, da dadurch ein C-xPräfix angezeigt wird, mit dem Sie beispielsweise C-x ooder C-x kohne speziellen Trick verwenden können.

Wenn dies nicht ausreicht, können Sie den folgenden Ansatz verwenden:

(defun expose-global-binding-in-term (binding)
   (define-key term-raw-map binding 
     (lookup-key (current-global-map) binding)))

(expose-global-binding-in-term (kbd "M-o"))
(expose-global-binding-in-term (kbd "M-k"))
...

5

Im Term-Modus C-x whateverwird C-c whateverstattdessen jede reguläre Tastenkombination . Mit freundlicher Genehmigung von Josh Matthews

Versuchen Sie nun Folgendes, um Tastenkombinationen zu definieren, die nur im Termmodus aktiv sind:

(add-hook 'term-mode-hook
  (lambda () 
    (define-key term-raw-map (kbd "M-J") 'other-window)
    (define-key term-raw-map (kbd "M-k") 'kill-buffer)))

Schön, es löst mein Problem. Ich akzeptiere die Antwort von @ Sigma, da die Konfiguration etwas bequemer ist (es ist nicht erforderlich, meine Global-Map-Bindungen in der Term-Raw-Map zu duplizieren). Vielen Dank!
Renan Ranelli

1
@LeMeteore, das diese Anrufe tätigt, term-mode-hookist höchstwahrscheinlich nicht nützlich: Sie werden diese Schlüssel jedes Mal neu installieren, wenn der Modus aktiviert wird, anstatt dies nur einmal zu tun.
Sigma

@ Sigma du hast recht. Ich habe tatsächlich versucht, schnell eine Lösung zu finden. Ihre Antwort ist in der Tat bequemer.
Nsukami
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.