[LINUX] Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen

Problem Bei Verwendung des interaktiven Filters ist es häufig bequemer, das Ergebnis im Verlauf als im Befehl zu belassen.

#Beispiel: Öffnen Sie die mit fzf ausgewählte Datei mit vim
alias v='_vim_fzf'
_vim_fzf () {
  local file
  file=$(fzf +m -q "$1") && vim "$file"
}

Im obigen Fall wird die ausgewählte Datei auch dann nicht angezeigt, wenn Sie zum Verlauf zurückkehren.

Solution Bash verwendet "history -s".

_vim_fzf () {
  local file
  file=$(fzf +m -q "$1") && history -s "vim $file" && vim "$file"
}

Wenn Sie es so umschreiben, wird "vim [ausgewählte Datei]" anstelle des Befehls "v" im Verlauf aufgezeichnet, sodass Sie die Datei mit Strg-R oder Strg-P erneut öffnen können.

Further Work (Zsh) In Zsh scheint print -s gleichwertig zu sein.

$ print -s "alternative command"
$ history
# ...
#  99 print -s "alternative command"
# 100 alternative command

Das Problem ist, dass der Befehl print selbst auch wie oben gespeichert wird. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt mm

Recommended Posts

Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
[Für Anfänger] Ich möchte die Anzahl der Lernerfahrungen leicht verständlich erklären.
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte den Fortschritt in Python anzeigen!
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich möchte ssh mit dem Befehl expected automatisieren!
Ich möchte R-Datensatz mit Python verwenden
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte auch Linux-Befehle an der Eingabeaufforderung verwenden! Verwenden Sie Linux-Befehle an der Eingabeaufforderung anstelle von Git Bash
Ich möchte ssh mit dem Befehl expected automatisieren! Teil 2
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Ich möchte den Wörterbuchtyp in der Liste eindeutig machen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die gültigen Zahlen im Numpy-Array ausrichten
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
linux / c> link> Ruft das Ausführungsergebnis des Shell-Befehls im C-Programm ab.> Mir wurde beigebracht, wie man popen () verwendet.
Im Python-Befehl zeigt Python auf Python3.8
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
Ich habe in Python ein Programm erstellt, das die 1-Minuten-Daten von FX auf eine beliebige Zeit (1 Stunde usw.) ändert.
So geben Sie beim Testen absichtlich einen Fehler in der Shell aus
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
Wie Sie die interne Struktur eines Objekts in Python kennen
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
LINEbot-Entwicklung möchte ich den Betrieb in der lokalen Umgebung überprüfen
Ich habe versucht, in 3 Jahren 5 Muster der Analysebasis zu erstellen
Ich möchte die zweite Zeile zum Spaltennamen in Pandas machen
Ich möchte den G-Test in einem Monat Tag 1 bestehen
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich habe den Befehl worldcup verwendet, um das Ergebnis der Weltmeisterschaft zu überprüfen.
Ich habe den Befehl gegeben, einen farbenfrohen Kalender im Terminal anzuzeigen
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich habe versucht, den Befehl umask zusammenzufassen
Die Geschichte eines Fehlers in PyOCR
Ich möchte in der Einschlussnotation drucken
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte Matplotlib in PySimpleGUI einbetten
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte die Farbe ändern, indem ich auf den Streupunkt in matplotlib klicke