Bewegen an den Anfang eines code-Zeile: Emacs
Benutze ich emacs für die Entwicklung und sehr oft verschieben müssen zu Beginn einer Zeile (C-a). Allerdings, wenn die Zeile eingerückt wird, möchte ich verschieben, bis zu dem Punkt, an dem code beginnt.
So, während browsing-code: ( ) for x in xy|z:
. Auf Eingabe C-a wir erhalten diese: |( ) for x in xyz:
. Aber ich möchte stattdessen diese:( ) |for x in xyz:
Hier | gibt an, cursor und () angeben, die Leerzeichen oder tabs.
Wie kann ich machen, damit dies geschieht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meta-m
back-to-indentation
.Meta
und nichtM-m
Ein beliebter Weg für mich zu handhaben, ist bei C-a schalten Sie zwischen dem Anfang der Zeile und am Anfang des Codes. So können Sie mit dieser Funktion:
Und fügen Sie die entsprechende Bindung zu Ihrem Lieblings-mode-Karte:
Ich das gleiche tun Umschaltung trick wie Trey, aber säumige Einzug statt zu Beginn der Zeile. Es braucht etwas mehr code, weil es keine "am-Anfang-des-Einzug" - Funktion, die ich kenne.
Dies wird wahrscheinlich lassen Sie Sie weiterhin verwenden Sie Strg-a und haben Sie es tun, was Sie wollen, am häufigsten, während noch in der Lage zu bekommen, das integrierte Verhalten leicht.
Standardmäßig, Meta-m läuft
zurück-zum-Einzug
die nach die Dokumentation wird "Bewegt auf das erste nicht-whitespace-Zeichen in dieser Zeile."Gängige Redewendung unter den modernen IDE ist, sich zu bewegen auf der ersten bzw. letzten nicht-whitespace-Zeichen, die auf dem zweiten drücken:
Dieser code zuerst bewegen zum tatsächlichen Beginn/Ende, neues Verhalten zeigen, bis auf den nachfolgenden Pressen. Also alle alten Tastatur-Makros funktionieren wie erwartet!
(defun my--smart-beginning-of-line () "Move point to `beginning-of-line'. If repeat command it cycle position between `back-to-indentation' and `beginning-of-line'." (interactive "^") (if (eq last-command 'my--smart-beginning-of-line) (if (= (line-beginning-position) (point)) (back-to-indentation) (beginning-of-line)) (back-to-indentation)))