Я использую Cygwin и хотел бы использовать Notepad ++ в качестве основного редактора оболочки, что-то вроде того, что у меня есть на моем Mac, где я могу печатать, mate whatever
чтобы открыть экземпляр TextMate. В моем ~/.bashrc
файле в Cygwin у меня есть следующий псевдоним и переменная окружения:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
В основном это работает: когда я печатаю np whatever
или когда программа Cygwin вызывает $ EDITOR, открывается Notepad ++.
Тем не менее, оболочка ждет, пока Notepad ++ не закроется, и не будет допускать никакого ввода до тех пор. Это может быть характерно для bash, но как я могу открыть Notepad ++ из Cygwin и сказать оболочке не ждать продолжения кода выхода? Добавление &
в конец команды псевдонима не работает правильно - она просто открывает файл без названия и выдает предупреждение filename: command not found
вместо открытия файла.
Благодарность!
Я решил это с помощью простой символической ссылки.
Конечно, ~ / bin находится в моем $ PATH.
Теперь, чтобы открыть файл, я просто набираю «npp filename.txt» в приглашении cygwin. Мне не приходилось использовать & в конце команды.
Это также добавит вкладку в текущее окно Notepad ++ вместо того, чтобы открывать другое - И если файл уже открыт, он не откроет его снова.
источник
также работает для x86
источник
Просто добавьте пробел и амперсанд (&) в конце вашей команды, и оболочка немедленно вернется в режим ввода, оставив Notepad ++ открытым.
на редактирование:
Я не говорю о добавлении его в ваш псевдоним. Добавьте его в конец вашей команды следующим образом:
np whatever &
источник
.bash_profile
чтобы мне не нужно было печатать все время?Псевдонимы не принимают интерполированные аргументы. Вместо этого используйте функцию.
источник
Этот скрипт запускает Notepad ++ в фоновом режиме, передавая аргументы командной строки перед '&'
Как советовал Дуг , наличие по умолчанию,
$EDITOR
которое не блокирует, может вызвать проблемы.источник
В cygwin есть специальная команда для выполнения этого. Убедитесь, что вы загрузили run.exe и убедитесь, что он находится в вашем PATH (или ваш PATH содержит исполняемый файл)
источник