Wenn Sie einen langen Befehl in die * nix-Befehlszeile schreiben und zum ersten Zeichen zurückkehren müssen, um am Anfang etwas hinzuzufügen (z. B. a nohup
, wenn Sie feststellen, dass der Vorgang lang ist, oder a sudo
, wenn Sie Es kann einige Zeit dauern, bis der Cursor zum ersten Zeichen zurückkehrt.
Gibt es eine Abkürzung, mit der Sie direkt dorthin springen können?
Ich benutze einen Mac, Homeist also keine Option
linux
command-line
unix
keyboard-shortcuts
cursor
clami219
quelle
quelle
sudo
ist die Eingabesudo !!
. Das!!
wird durch den vorherigen Befehl ersetzt.Antworten:
Ctrl+Asollte arbeiten. Ctrl+Eentspricht dem Ende der Kommandozeile.
quelle
Dies hängt von der jeweiligen Shell ab.
Einige Shells (wie AT & T ksh88) bieten praktisch keine Eingabezeilenbearbeitung.
In Shells, die den
vi
Bearbeitungsmodus implementieren (dies muss möglicherweise mit aktiviert werdenset -o vi
), erfolgt dies durch Drücken von Esc(um vom Einfügemodus zu wechseln) und anschließendem 0Springen zum Zeilenanfang oder $zum Zeilenende. Rufen Sie dann den Einfügemodus erneut auf, indem Sie i- drücken, der Cursor bleibt an seiner Position - oder a- der Cursor bewegt sich um eins nach rechts, um Text anzufügen.vi
Die Bearbeitung im Modus wurde kürzlich vom POSIX-Standard vorgeschrieben.Die viel gebräuchlichere
emacs
Bearbeitungsart (Gott sei Dank, sie hat nichts mit dem Emacs-Editor-Schrägstrich-Betriebssystem zu tun) verwendet man, Ctrl-Aum an den Anfang der Zeile Ctrl-Ezu springen und an das Ende der Zeile zu springen. Dieser Modus erfordert die Ausführungset -o emacs
auf vielen Shells (am bekanntesten AT & T ksh93), ist jedoch in mksh und GNU bash standardmäßig aktiviert .Die meisten modernen Shells unterstützen sowohl
emacs
als auchvi
Modi. (Für beide Modi ist ein Tty erforderlich.)In vielen Shells können Sie die Tastenkombinationen anpassen. In der Regel für den
emacs
Modus, obwohl einige Shells auch das Anpassen der Tastenkombination für denvi
Modus ermöglichen. Wenn Sie einen Schlüssel haben Sie lieber haben diese gebunden zu sein , müssen Sie zuerst herauszufinden , die Tastenfolgen es (zum Beispiel erzeugt, auf meinem System, Alt-CursorLeftproduziert Esc+[+1+;+3+D(^[[1;3D
;^X
ist Ctrl-Xund^[
ist Esc), so dass ich so etwas wie eingeben könnenDiese Tastenkombination wird je nach Shell geändert. Sie können sie normalerweise entweder in der Startdatei (
~/.mkshrc
,~/.kshrc
) oder für GNU bash in beibehalten~/.inputrc
. Beachten Sie, dass nicht alle Shells die Bindung aller Schlüssel in allen Versionen unterstützen.Sie können normalerweise herausfinden, welche Zeichen ein Schlüssel erzeugt, indem Sie einfach
cat
auf der Shell laufen , den Schlüssel eingeben und zusehen. Drücken Sie dann^C
( Ctrl-C), um den Vorgang abzubrechencat
.quelle
^D^D
bekomme ich immer noch "Haben Sie es mit der Home-Taste versucht? Ich verwende MobXterm, um eine Verbindung zur Linux-Box herzustellen und verwende sowohl die Home- als auch die End-Taste auf der Tastatur, um zum ersten oder letzten Zeichen des Befehls zu gelangen.
quelle
Wenn Sie in den
vi
Modus gewechselt haben, könnenset -o vi
Sie mit Escund entweder Ioder AText am Anfang oder Ende der Zeile eingeben. Oder wenn Sie nur den Cursor bewegen möchten, ist es ^und $.quelle
Im Emacs-Modus (umgeschaltet von:)
set -o emacs
drücken Sie:Im vi-Modus (umgeschaltet von
set -o vi
:) im Befehlsmodus ( Esc) durch Drücken von:Siehe auch:
quelle