Mit können Sie bind -x
einen Befehl an eine Verknüpfung in Bash binden. Zum Binden des git status
Befehls an die Verknüpfung Crtl+ pkönnen Sie beispielsweise Folgendes verwenden:
bind -x '"\C-p":git status'
Legen Sie es in eine ~/.bashrc
Datei, um es sich zu merken. Aus der Manpage:
-x keyseq: Shell-Befehl
Bewirkt, dass der Shell-Befehl bei jeder Eingabe von keyseq ausgeführt wird. Wenn der Shell-Befehl ausgeführt wird, setzt die Shell die Variable READLINE_LINE auf den Inhalt des Readline-Zeilenpuffers und die Variable READLINE_POINT auf die aktuelle Position der Einfügemarke. Wenn der ausgeführte Befehl den Wert von READLINE_LINE oder READLINE_POINT ändert, werden diese neuen Werte im Bearbeitungsstatus wiedergegeben.
bindkey -s '^[^M' 'git status\n'
was an ALT + EINGABETASTE gebunden ist.bind -x '"\C-k":firefox'
Ich benutze dies, aber es funktioniert nicht~/.bashrc
Datei. Wenn es immer noch nicht funktioniert, überprüfen Sie diesbind
finden Sie hier: stackoverflow.com/a/4201274/7123341. Öffnen Sie automatisch ein neues Terminalfenster, in dem die Ausgabe Ihres Befehls angezeigt wird
Da Sie das Terminal geöffnet lassen müssen, nachdem der Befehl ausgeführt wurde, schreiben Sie:
erledigt die Aufgabe mit einer Tastenkombination. Es öffnet sich ein neues
gnome-terminal
Fenster und führt den Befehl darin aus.Fügen Sie es einer Verknüpfung hinzu
Wählen Sie: Systemeinstellungen> "Tastatur"> "Verknüpfungen"> "Benutzerdefinierte Verknüpfungen". Klicken Sie auf das "+" und fügen Sie den Befehl hinzu:
zu Ctrl+Enter
Hinweis
Obwohl Ihre vorgeschlagene Verknüpfung funktioniert, können Sie eine andere Tastenkombination als Ctrl+ auswählen Enter, da diese zumindest mit der
LibreOffice
Verknüpfung kollidiert, um zu einer neuen Seite zu springen.Erläuterung
Um ein neues
gnome-terminal
Fenster über die Befehlszeile zu öffnen und darin einen Befehl auszuführen, können Sie Folgendes verwenden:Obwohl der Befehl erfolgreich ausgeführt wird, wird das Terminalfenster sofort geschlossen, bevor Sie die Ausgabe lesen können.
Die Sektion:
ist dann, um das Terminal offen zu halten (bis Sie drücken Enter), nachdem der Befehl ausgeführt wird.
Andere Befehle
Auf diese Weise können Sie jeden (komplexen) Befehl im Terminal ausführen, ohne ihn sofort schließen zu müssen:
wird ausgegeben (falls
wmctrl
installiert):Nach dem Drücken wird Enterdas Terminal geschlossen.
2. Führen Sie einen Befehl im derzeit aktiven Gnome-Terminal-Fenster aus
Natürlich können Sie könnten einen einfachen Einzeiler unter einer Schnelltaste platzieren (vorausgesetzt , Sie haben
xdotool
installiert ist ):Dies würde den Befehl jedoch in jeder Anwendung blind eingeben , und die Eingabe des Befehls ist nicht die sauberste Option.
Das kleine Skript unten also:
gnome-terminal
Fenster ist (anhand seiner PID)gnome-terminal
Fenster eingefügt und gedrückt Return.Andernfalls führt das Skript keine Aktionen aus , sodass es nicht in andere Anwendungen eingefügt wird.
Da das Skript den Zielbefehl als Argument verwendet, können Sie mehrere Befehle unter mehrere Verknüpfungen setzen.
Das Drehbuch
Wie benutzt man
Das Skript benötigt
xdotool
sudo apt-get installiere xdotool
Erstellen Sie ein Verzeichnis,
~/bin
falls es noch nicht vorhanden ist. Melden Sie sich entweder ab oder führen Sie es aussource ~/.profile
gterm_keys
(keine Erweiterung) in~/bin
und machen Sie es ausführbarJetzt können Sie jeden Befehl über eine Tastenkombination im vordersten
gnome-terminal
Fenster ausführen , indem Sie den folgenden Befehl hinzufügen:zu einer Tastenkombination, wie in beschrieben
[1]
quelle
Im Falle zsh statt schlag, die folgende Zeile in verwendeten
~/.zshrc
Bindsgit status
bis ALT+ ENTER.Um ALT+ ENTERin Bash zu bekommen , benutze ich diese Zeile:
quelle