Korzystam z Cygwin i chciałbym używać Notepad ++ jako głównego edytora powłoki, podobnie jak mam to na komputerze Mac, gdzie mogę pisać, mate whatever
aby otworzyć instancję TextMate. W moim ~/.bashrc
pliku w Cygwin mam następujący zestaw aliasów i zmiennych środowiskowych:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Działa głównie: kiedy piszę np whatever
lub gdy program Cygwin wzywa $ EDITOR, otwiera się Notepad ++.
Jednak powłoka czeka na zamknięcie Notepad ++ i do tego czasu nie zezwoli na żadne dane wejściowe. Może to być specyficzne dla bash, ale jak mogę otworzyć Notepad ++ z Cygwin i powiedzieć powłoce, aby nie czekała na kontynuację kodu wyjścia? Dodanie &
na końcu polecenia aliasu nie działa poprawnie - po prostu otwiera plik bez tytułu i ostrzega filename: command not found
zamiast otwierać plik.
Dzięki!
Rozwiązałem to za pomocą prostego dowiązania symbolicznego.
Oczywiście ~ / bin jest w mojej $ PATH.
Teraz, aby otworzyć plik, po prostu wpisuję „npp nazwa_pliku.txt” w wierszu polecenia cygwin. Nie musiałem używać znaku & na końcu polecenia.
Spowoduje to także wrzucenie karty do aktualnie działającego okna Notepad ++ zamiast otwierania innego - ORAZ jeśli plik jest już otwarty, nie otworzy go ponownie.
źródło
działa również dla x86
źródło
Wystarczy dodać spację i znak ampersand (&) na końcu polecenia, a powłoka natychmiast powróci do trybu wprowadzania, pozostawiając otwarty notatnik ++.
przy edycji:
Nie mówię o dodaniu go do swojego aliasu. Dodaj go na końcu polecenia w ten sposób:
np whatever &
źródło
.bash_profile
więc nie muszę go cały czas pisać?Aliasy nie przyjmują interpolowanych argumentów. Zamiast tego użyj funkcji.
źródło
Ten skrypt uruchamia Notepad ++ w tle, przekazując argumenty wiersza poleceń przed „&”
Zgodnie z zaleceniami Douga ustawienie domyślne,
$EDITOR
które nie blokuje, może powodować problemy.źródło
W cygwin jest specjalne polecenie, aby to osiągnąć. Upewnij się, że pobierasz run.exe i upewnij się, że znajduje się on w ŚCIEŻCE (lub że ŚCIEŻKA zawiera plik wykonywalny)
źródło