Ich benutze Fischschale. Ich öffne immer *.txt
Dateien in Atom, also muss ich atom filename.txt
eingeben. Ich weiß, dass in zsh, gibt es eine Option, Dateien immer mit einer Erweiterung in der spezifischen App unter Verwendung alias -s
Option zu öffnen. Gibt es eine Möglichkeit, das gleiche Verhalten in der Fischschale zu erreichen?Öffnen Sie immer eine TXT-Datei mit der angegebenen App in Fischschale
Antwort
Zwei Lösungen kommen in den Sinn. Verwenden Sie zunächst eine Abkürzung oder eine Funktion, um die Anzahl der Zeichen verringern Sie eingeben müssen:
abbr a atom
Jetzt können Sie nur „eine * .txt“ eingeben. Der Vorteil von function a; atom $argv; end
besteht darin, dass kompliziertere Schritte möglich sind, als nur einen kurzen Befehl durch einen längeren Befehl zu ersetzen. Als ein anderes Beispiel habe ich abbr gcm "git checkout master"
in meiner Konfiguration, weil das etwas ist, was ich häufig mache.
Zweitens, verwenden Sie eine Tastenanbindung. Zum Beispiel veran Drücken von [meta-a] „Atom“ zu Beginn des Befehls zum Einfügen und führen Sie es aus:
function edit_with_atom
set -l line (commandline -b)
commandline -r "atom $line"
commandline -f execute
end
bind \ea edit_with_atom
Die Schlüssel Bindung ermöglicht kompliziertere Operationen als das, was ich habe, da Sie oben gezeigt kann beliebigen Code ausführen.
Diese Lösungen werden nicht skaliert, aber wenn es nur ein paar Befehle gibt, die Sie häufig ausführen, die Sie mit weniger Tastenanschlägen aufrufen möchten, können sie helfen.
Sorry, Fisch unterstützt dies nicht. Am besten ist es, eine gewöhnliche Funktion/einen Alias zu definieren, der zu einem Atom aufruft.
Ich kam mit einer anderen Idee. Um eine Funktion mit einem kurzen Namen wie 'a' und abhängig vom Dateitypargument zu schreiben. Wenn ich zum Beispiel 'a file.txt' eingib, wird 'atom file.txt' ausgeführt. Aber wenn ich 'a file.html' eintippe, benutzt es Browser, um die Datei zu öffnen. Ich bin neu in der Fisch-Shell, deshalb wird es einige Zeit dauern, Dinge wie '$ argv' mit' .txt' zu schreiben, aber ich denke, das ist möglich. –