Ich verwende Cygwin und möchte Notepad ++ als Haupt-Shell-Editor verwenden, ähnlich wie das, was ich auf meinem Mac habe, wo ich mate whatever
eine Instanz von TextMate öffnen kann . In meiner ~/.bashrc
Datei in Cygwin habe ich den folgenden Alias und die folgende Umgebungsvariable festgelegt:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Meistens funktioniert es: Wenn ich tippe np whatever
oder wenn ein Cygwin-Programm $ EDITOR aufruft, wird Notepad ++ geöffnet.
Die Shell wartet jedoch, bis Notepad ++ geschlossen wird, und lässt bis dahin keine Eingaben zu. Dies mag für Bash spezifisch sein, aber wie kann ich Notepad ++ von Cygwin aus öffnen und der Shell mitteilen, dass sie nicht warten soll, bis ein Beendigungscode fortfährt? Das Hinzufügen von a &
am Ende des Aliasbefehls funktioniert nicht ordnungsgemäß - es öffnet lediglich eine Datei ohne Titel und warnt, filename: command not found
anstatt die Datei zu öffnen.
Vielen Dank!
Ich habe es mit einem einfachen Symlink gelöst.
Natürlich ist ~ / bin in meinem $ PATH.
Um nun eine Datei zu öffnen, tippe ich einfach "npp filename.txt" an der Cygwin-Eingabeaufforderung ein. Ich musste das & am Ende des Befehls nicht verwenden.
Dadurch wird auch ein Tab in das aktuell ausgeführte Notepad ++ - Fenster geworfen, anstatt ein anderes zu öffnen - UND wenn die Datei bereits geöffnet ist, wird sie nicht erneut geöffnet.
quelle
funktioniert auch für x86
quelle
Fügen Sie einfach ein Leerzeichen und ein kaufmännisches Und (&) an das Ende Ihres Befehls an, und die Shell kehrt sofort in den Eingabemodus zurück, während Editor ++ geöffnet bleibt.
beim bearbeiten:
Ich spreche nicht über das Hinzufügen zu Ihrem Alias. Fügen Sie es am Ende Ihres Befehls wie folgt hinzu:
np whatever &
quelle
.bash_profile
damit ich es nicht die ganze Zeit tippen muss?Aliase akzeptieren keine interpolierten Argumente. Verwenden Sie stattdessen eine Funktion.
quelle
Dieses Skript startet Notepad ++ im Hintergrund und übergibt die Befehlszeilenargumente vor dem '&'
Wie Doug angeraten hat, kann ein
$EDITOR
nicht blockierter Standard zu Problemen führen.quelle
In cygwin gibt es einen speziellen Befehl, um dies zu erreichen. Stellen Sie sicher, dass Sie run.exe herunterladen und sicherstellen, dass es sich in Ihrem PATH befindet (oder dass Ihr PATH die ausführbare Datei enthält)
quelle