Das ist ein bisschen schwierig, aber möglich. Was ich für diese genaue Situation zu tun ist, einen kleineren-Modus erstellen, nämlich gvol-mode
, und dann in sie binden C-ian previous-line
(oder was auch immer Sie möchten). Dann binde ich <tab>an die Funktion unten.
(defun gvol-indent-for-tab-command () "This is to fix `indent-for-tab-command' for `gvol-mode'. It runs [tab] or C-i with `gvol-mode' nil because `gvol-mode' binds C-i to a different command. Ideally this should take into account window system so that it can DTRT in a terminal (whatever the right thing is)." (interactive) (let* ((gvol-mode nil) (command (or (key-binding [tab]) (key-binding "\C-i")))) ;; This is to satisfy `python-indent-line' which checks ;; `this-command' to cycle (setq this-command 'indent-for-tab-command) ;; Make people think this was called with C-i. This allows ;; `self-insert-command' to work (setq last-command-event 9) (call-interactively command)))
Um es etwas zu erklären, lasse ich mich an binden gvol-mode
, nil
so dass mein Moll-Modus bei der Tastensuche nicht im Spiel ist. So wird es die Bindung für finden <tab>oder C-idas wäre dann gegeben, wenn der kleinere Modus nicht ist. Dann für einige Funktionen zu arbeiten, um I setzen müssen this-command
zu indent-for-tab-command
. Ich mache es auch so, als ob ich getippt hätte, C-iwas es erlaubt, mit yasnippet-mode
IIRC zu arbeiten .