Ich kenne die Kombination Ctrl+ A, um zum Anfang des aktuellen Befehls und Ctrl+ Ezum Ende zu springen.
Aber gibt es eine Möglichkeit, Wort für Wort zu springen, wie es Alt+ ←/ →in Kakaoanwendungen tut?
macos
terminal
keyboard-shortcuts
der Blechmann
quelle
quelle
ALT
Verknüpfungen wurden in der neuesten OS X-Version zu Terminal hinzugefügt.Antworten:
Standardmäßig können Sie das ziemlich bizarre Esc+ verwenden F, um zum Anfang des nächsten Wortes zu gelangen, und Esc+ B, um zum Anfang des aktuellen Wortes zu gelangen.
quelle
Esc
+ oderF
am Anfang der Zeile die andere Tastenkombination drücken, wird stattdessen nur der Buchstabe eingefügt. Nervig!~/.inputrc
.Unter Mac OS X funktionieren die folgenden Tastaturkürzel standardmäßig. Beachten Sie, dass Sie müssen make Option Schlüssel wirken wie Meta in Terminal - Einstellungen (unter Tastatur tab)
Ich habe festgestellt, dass Standard-Emacs-Tastenkombinationen für die einfache Textnavigation bei Bash-Shells zu funktionieren scheinen. Sie können verwenden
quelle
+ESC
, dann können Sie OPTION f / b verwenden, um das Wort entsprechend vorwärts und rückwärts zu verschieben. MehrSo können Sie es machen
Standardmäßig verfügt das Terminal über die folgenden Verknüpfungen, um Wort für Wort (links und rechts) zu verschieben:
Sie können alt+ konfigurieren ←und →diese Sequenzen für Sie generieren:
⌥ ←
falls vorhanden, oder fügen Sie sie hinzu, wenn dies nicht der Fall ist.\033b
(Sie können diesen Text nicht manuell eingeben).\033f
)Alternativ können Sie auf diesen Blog-Beitrag bei textmate verweisen:
http://blog.macromates.com/2006/word-movement-in-terminal/
quelle
B
für Rücken oderF
für nach vorn in dieEsc+
Feldalt left
undalt right
generiert habeWechseln Sie zu iTerm2 . Es ist kostenlos und viel schöner als ein einfaches altes Terminal. Es hat auch viel mehr Optionen für die Anpassung, wie Tastaturkürzel.
Ich finde es auch cmdtoll, dass Sie mit und 1-9 zwischen Registerkarten wechseln können. Probieren Sie es aus und Sie werden nie wieder zum regulären Terminal zurückkehren :)
So richten Sie benutzerdefinierte Tastatureinstellungen in iterm2 ein
Ich habe oft die falsche Taste ( cmd/ control/ alt) mit einer Pfeiltaste gedrückt und daher habe ich meine Pfeiltastenkombinationen mit diesen Tasten so eingestellt, dass sie vorwärts und rückwärts springen, aber bitte tun Sie, was am besten zu Ihnen passt.
quelle
Ctrl + Arrow Left
oderRight
-Up
undDown
funktioniert: / versucht mit und ohne das neue Profil als Standard festgelegtEigentlich gibt es einen viel besseren Ansatz. Halten Sie option( altauf einigen Tastaturen) gedrückt und drücken Sie die Pfeiltasten nach links oder rechts, um sich nach Wort zu bewegen. So einfach ist das.
option←
option→
Ebenfalls ctrle werden Sie zum Ende der Leitung zu nehmen und ctrlawerden Sie zum Start nehmen.
quelle
[D
und[C
. Um dies zu beheben, fügen Siebind '"[D": backward-word'
undbind '"[C": forward-word'
zu meinem hinzu.bashrc
..bashrc
aber es hat nicht funktioniert, stimmt etwas nicht für mich? (Ich benutze RubyMine).bashrc
beim Booten des Terminals liest . Versuchen Sie zuecho "here"
sehen, ob diese Meldung angezeigt wird, wenn Sie ein neues Terminal öffnen. Außerdem müssen Sie das Terminal schließen und erneut öffnen oder ausführensource ~/.bashrc
, damit es die neue Datei liest.Ich habe Alt+ ←/ →arbeiten: Öffnen Sie Einstellungen »Einstellungen» Tastatur , setzen Sie den Eintrag für den Optionscursor links , um eine Zeichenfolge an die Shell zu senden: \ 033b , und setzen Sie den Optionscursor rechts , um eine Zeichenfolge an die Shell zu senden: \ 033f . Sie können dies auch für andere Steuertastenkombinationen verwenden.
quelle
Enable option as meta key
. Übrigens ist es sehr cool. Der Schlüssel ist sicher viel bequemer zu erreichen als Esc + B oder Esc + FEigentlich hängt es davon ab, welche Shell Sie verwenden, jedoch haben die meisten Shells ähnliche Bindungen. Die Bindungen, auf die Sie sich beziehen (z. B. Ctrl+ Aund Ctrl+E ), sind Bindungen, die Sie in vielen anderen Programmen finden, und sie werden seit Ewigkeiten verwendet. Übrigens funktionieren sie auch in den meisten UI-Apps.
Hier ist ein Blick auf die Standardbindungen für Bash:
Wichtigste Bash-Tastaturkürzel
Bitte beachten Sie auch, dass Sie sie anpassen können. Sie müssen eine Datei mit dem Namen erstellen, wie Sie möchten. Ich habe meine .bash_key_bindings benannt und sie in mein Home-Verzeichnis gestellt. Dort können Sie einige allgemeine Bash-Optionen festlegen und auch Tastenkombinationen festlegen. Um sicherzustellen, dass sie angewendet werden, müssen Sie eine Datei mit dem Namen ".bashrc" ändern , die beim Start von bash eingelesen wird (Sie müssen sie erstellen, falls sie nicht vorhanden ist), und dort den folgenden Aufruf ausführen:
~ bedeutet Home-Verzeichnis in Bash, wie oben angegeben. Sie können die Datei beliebig benennen und an einer beliebigen Stelle platzieren, solange Sie den richtigen Pfad + Namen für die Bindung eingeben.
Lassen Sie mich Ihnen einige Auszüge aus meiner .bash_key_bindings-Datei zeigen:
Diese stellen nur ein paar Optionen ein (z. B. Deaktivieren der Glocke; dies kann alles auf der Bash-Webseite nachgeschlagen werden).
Diese stellen sicher, dass die Zeichen allein nichts anderes tun, als sicherzustellen, dass das Zeichen "getippt" ist (sie fügen sich in die Shell ein).
Das ist ziemlich interessant. Wenn ich alleine Ctrl+ Ddrücke (ich habe d zum Löschen ausgewählt), passiert nichts. Wenn ich dann aber einen Kleinbuchstaben w eingebe, wird das Wort links vom Cursor gelöscht. Wenn ich jedoch Großbuchstaben eingebe, wird das Wort rechts vom Cursor getötet. Gleiches gilt für l und L für die gesamte Zeile ab dem Cursor. Wenn ich ein "a" eingebe, wird die gesamte Zeile tatsächlich gelöscht (alles vor und nach dem Cursor).
Ich habe ein Wort vorwärts auf Ctrl+ Fund ein Wort rückwärts auf Ctrl+ gesetztB
Wie Sie sehen, können Sie eine Verknüpfung erstellen, die sofort zu einer Aktion führt, oder Sie können eine Verknüpfung erstellen, die nur eine Zeichenfolge einleitet, und dann müssen Sie ein (oder mehrere) Zeichen eingeben, damit eine Aktion ausgeführt wird im Beispiel weiter oben gezeigt.
Wenn Sie mit den Standardbindungen nicht zufrieden sind, können Sie sie nach Ihren Wünschen anpassen. Hier ist ein Link zum Bash-Handbuch für weitere Informationen.
quelle
command
Schlüsselcode? In Ihrem Beispielcontrol
ist\C
, aber wie istcommand
?Meta
in bash (\M
), cmd + left zugeordnet\M-\e[D
. Sie können cmd + ... jedoch nichts zuordnen. Alle Befehlsverknüpfungen werden von der Terminal-App selbst verarbeitet (und somit verschluckt) (diese werden nie an die Shell weitergeleitet), und cmd + links wird dem "vorherigen Fenster" zugeordnet, wenn Sie mehrere haben Terminalfenster öffnen sich. Mit der Terminal-App ist dies leider nicht möglich.Verwenden Sie die Voreinstellung Natural Text Editing !
Im Wesentlichen bindet es unter anderem Option + LeftArrow an
^[b
Sequenz und Option + Rechtspfeil an^[f
Dies funktioniert sowohl in Fish and Bash als auch im psql-Terminal.
quelle
Wenn Sie zufällig ein Vim-Benutzer sind, können Sie den Vim-Modus von bash ausprobieren. Führen Sie dies aus oder fügen Sie es in Ihre
~/.bashrc
Datei ein:Standardmäßig befinden Sie sich im Einfügemodus. Wenn Sie die Escape- Taste drücken, können Sie sich wie im normalen Vim-Modus bewegen. Bewegung nach Wort ist also
w
oderb
, und die üblichen Bewegungstasten funktionieren auch .quelle
Wenn Sie
Use option as meta key
auf der Registerkarte "Tastatur" der Einstellungen einchecken, werden die Standardbefehle für den Emacs-Stil für Vorwärts- und Rückwärtswort und⌥F
(Alt + F) und⌥B
( Alt+ B) verwendet.Ich würde empfehlen, From Bash to Z-Shell zu lesen . Wenn Sie Ihre Bash / Zsh-Fähigkeiten steigern möchten!
quelle
Ab Mac OS X Lion 10.7 ist Terminal standardmäßig Option- Left/Right Arrowto Esc- zugeordnet b/f, sodass dies jetzt für Bash- und andere Programme integriert ist, die diese Emacs-kompatiblen Tastenkombinationen verwenden.
quelle
Halten Sie die Wahltaste gedrückt und klicken Sie auf die Stelle, an der sich der Cursor bewegen soll
quelle
In Bash sind diese an Esc- Bund Esc- gebunden F. Bash hat viele, viele weitere Tastaturkürzel. Schauen Sie sich die Ausgabe von
bind -p
an, um zu sehen, was sie sind.quelle
Klicken Sie unter
iterm2
" Einstellungen"> "Profil"> "Tasten" auf die+
folgenden Tastenzuordnungen und zeichnen Sie eine neue Verknüpfung auf. Für Aktion , wählen SieSend Escape Sequence
und gebenb
oderf
für rückwärts und vorwärts auf.Als ich versuchte, eine für ( Ctrl+ ←) aufzunehmen, bemerkte ich im Feld Tastaturkürzel , dass der Pfeil nie angezeigt wurde. Es stellte sich heraus, dass ich zuerst die Systemeinstellungen> Tastatur> Verknüpfungen> Missionssteuerungs- Shorcuts des Standard-Mac deaktivieren musste, damit die Dinge funktionieren, da sie die Standardverknüpfungen von iterm2 überschreiben. Sollte auch für die Standard-Terminal-App gelten.
quelle
Neue Antwort für Benutzer von iTerm2 Build 3.3.4:
Schritt 1: (macOS X) Systemeinstellungen> Tastatur> Registerkarte "Verknüpfungen"> Missionssteuerung auswählen (linkes Feld)> Deaktivieren Sie Verknüpfungen mit den Bezeichnungen "Nach links um ein Leerzeichen verschieben" und "Nach rechts um ein Leerzeichen verschieben".
Schritt 2: (iTerm2 Build 3.3.4) Einstellungen> Profile> Wählen Sie * Standard (linkes Feld)> Registerkarte Tasten> Löschen Sie sowohl die Einträge "⌥->" als auch "⌥ <-"> Legen Sie beide Tasten "Linke Option (⌥)" fest: "und" Right Option (⌥) Key: "zu Esc +
Kein Herumspielen mit Shell-Profilen, kein Herumspielen mit minderwertigem masOS-Terminal (Standard), kein awkwards Esc + F / B, spülen und unsinnig wiederholen.
Beschlossene Sache!!!
Viel Spaß mit diesem Tipp, meine PROGRAMMIERKollegen!
quelle
Wie bereits beantwortet, können Sie
set -o vi
Ihre~/.bashrc
zu verwendendenvi
/vim
Schlüsselbindungen hinzufügen oder den folgenden Teil hinzufügen.bashrc
, um mitCtrl
und Pfeiltasten zu verschieben:Um die Wirkung dieser Codezeilen zu starten,
source ~/.bashrc
starten Sie entweder eine neue Terminalsitzung.quelle