Wenn ich mich im Einfügemodus befinde und mich von der letzten Cursorposition (der leeren Stelle rechts vom letzten Zeichen) nach links bewege, kann ich nicht mehr zu dieser Position zurückkehren. Ich habe zu schreiben Esc$a(oder ersetzen $mit →einem Bündel Zeiten) dorthin zu gelangen. Es scheint eine Menge zusätzlicher Tastenanschläge zu sein, um beispielsweise das letzte Zeichen zu löschen (und sich immer noch im Einfügemodus zu befinden).
Gibt es einen besseren Weg oder sollte ich nur den Standard-Emacs-Modus verwenden (obwohl ich keinen einzigen Emacs-Befehl kenne)?
C
wenn ich diese Position im Einfügemodus belasse. Wenn ich mich also ganz nach links bewege und mit der Eingabe beginne, ist dasx
Zeichen immer das letzte Zeichen. Außerdem habe ich keinenEnd
Schlüssel (MacBook Pro)..inputrc
Datei?C
CentOSset -o vi
auf meine zugreifen kann.bashrc
. Ich denke, dieses Problem ist spezifisch für das Mac OS X-Terminal.C
). So seltsam. Es muss eine Mac Terminal Einschränkung sein ...Sie können einfach die
End
Taste drücken, um dorthin zu gelangen.Sie können auch
Shift + A
(Großbuchstabe A - zum Anhängen ) verwenden, um Sie am Ende einer Zeile in den Einfügemodus zu versetzen.quelle
Ich weiß, dass dies eine alte Frage ist, aber ich habe mir jetzt seit ein paar Tagen den Kopf darüber geschlagen und ich habe es endlich verstanden. Es stellt sich heraus, dass die Lösung einfach ist: Aktualisieren Sie Bash auf 4.3 . Die Standard-Bash auf Macs (sogar Yosemite) ist 3.2.
Installieren Sie Homebrew mit
dann mach
Ändern Sie dann Ihren Standard-Shell-Pfad (in den Terminaleinstellungen) in
und das ist es. Überprüfen Sie Ihre Bash-Version mit
und als zusätzlichen Bonus können Sie Modusanzeigen erhalten!
und es wird ein
+
für den Einfügemodus und:
für den Befehlsmodus angezeigt.quelle
sudo port install bash
dann den Befehl in den Terminaleinstellungen auf/opt/local/bin/bash
Sie können
:10000
oder mehr verwenden, um zur letzten Zeile zu gelangenquelle
:x
Bewegen Sie sich zu einer bestimmten Zeile, nicht innerhalb der Zeile.