Я выполняю Cygwin и хотел бы использовать Блокнот ++ в качестве основного редактора оболочки, отчасти как то, что я имею на своем 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 ++ от Cygwin и сказать оболочке не ожидать кода выхода для продолжения? Добавление a &
в конец псевдонима команда не работает правильно — это просто открывает файл без названия и предупреждает filename: command not found
вместо того, чтобы открыть файл.
Спасибо!
Вы могли попробовать a bash
функционируйте для передачи аргументов перед амперсандом:
np ()
{
/cygdrive/c/Program\ Files/Notepad++/notepad++.exe $* &
}
НО большей проблемой может быть вся эта мысль о не ожидании до Блокнота ++ выходы. Команды Shell, которые используют $EDITOR
обычно разрабатываются для ожидания, пока редактор не передает признак обратно, что редактирование завершилось. Это обычно означает, что редактор вышел (например, с vi
или nano
).
Emacs имеет способ установить Ваш EDITOR
кому: emacsclient
и затем когда Вы сделаны, редактируя, Вы поражаете волшебное нажатие клавиши (C-x #
) указать, что редактирование завершено. Если бы Блокнот ++ имел что-то подобное для cygwin пользователей, я вижу, как это работало бы.
Другая альтернатива должна использовать простой, скучный, простой Блокнот в качестве Вашего РЕДАКТОРА и зарезервировать Блокнот ++ для интенсивного использования (я получил идею от этого сообщения в блоге),
Просто добавьте пространство и амперсанд (и) в конец Вашей команды, и оболочка сразу возвратится к режиму ввода при оставлении блокнота ++ открытым.
на редактировании:
Я не говорю о добавлении его к Вашему псевдониму. Добавьте его в конец своей команды как это:
np whatever &
#!/bin/sh
/cygdrive/c/Program\ Files/Notepad++/notepad++.exe $@ &
Этот сценарий запускает Блокнот ++ в фоновом режиме, передавая параметры командной строки перед '&'
Как рекомендуемый Doug, имея значение по умолчанию $EDITOR
это не блокируется, может вызвать проблемы.
Существует определенная команда в cygwin для выполнения этого. Удостоверьтесь, что Вы загружаете run.exe и удостоверяетесь, что это находится в Вашем ПУТИ (или Ваш ПУТЬ содержит исполняемый файл),
alias np="run.exe /cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Я решил его с простой символьной ссылкой.
ln -s /cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe ~/bin/npp
Конечно, ~ / мусорное ведро находится в моем $PATH.
Теперь для открытия файла я просто ввожу "npp filename.txt" от подсказки cygwin. Я имею, не должны были использовать и в конце команды.
Это также бросит вкладку в в настоящее время рабочее окно Notepad ++ вместо того, чтобы открыть другой - И если файл уже открыт, это не открывает его снова.