Найдено в этой теме, я нахожу ответ от jens недопустимой. Мы не просим, чтобы мне сказали не делать этого. Мне не нравились другие ответы, либо всегда была какая-то причуда, например, настройки не использовались или появилось дополнительное окно командной строки. Я сделал некоторые копания, и это работает для меня. Нет лишней строки командной строки для ничего, и она использует мои собственные настройки gvim.
alias gvim='HOME=/cygdrive/p/ cygstart /cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe'
Вам просто нужно изменить ДОМОЙ к себе. Чтобы узнать, что положить туда запустить gvim из окон, введите «: echo $ HOME» и нажмите Enter, в моем случае он отобразит P: \, чтобы перевести на/cygdrive/p/
Также, если ваш gvim.exe находится в другом каталоге/версии, которую вам нужно будет настроить.
Теперь, когда я набираю «gvim script.sh» в командной строке cygwin, он запускает gvim с файлом, все красиво и аккуратно!
UPDATE
Я нашел немного лучший способ сделать это. Использование псевдонима заключало в связывании моей сессии, из которой я запускал gvim, я хотел, чтобы он запускался как отдельный процесс, используя «gvim &», является неэлегантным, поскольку при запуске он отображает номер задания и отображает «завершенную» линию по завершении. Я слишком суетливый, поэтому я понял, как все это сделать, используя функцию.
Просто добавьте это в свой .bash_functions файл, он основывается на предыдущем разделе, касающемся домашнего каталога и использования обратной косой черты.
gvim() {
ORIGHOME=$HOME
HOME=/cygdrive/p/
/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $1 & disown
HOME=$ORIGHOME
} 2>/dev/null
UPDATE 2 для пользователей Babun!
Ok, так как то, боролся с этим первоначально я в конечном итоге слом оригинальный Cygwin установить в пользу Babun который, кажется, менее хлопотно настройки для тех, кто хочет функциональность Linux в окнах без полномасштабной виртуальной. Конечно, мой скрипт запуска gvim сломался, и я должен был сделать следующее в моем файле .zshrc (babun использует zsh, сначала я сопротивлялся и переключил его на bash, но затем смягчился, поскольку я решил, что у них должен быть разум, и они это сделали, я нравится)
gvim() {
OLD_HOME=$HOME
OLD_VIMRUNTIME=$VIMRUNTIME
export HOME=/cygdrive/c/Users/gmitchell/
export VIMRUNTIME="C:\Program Files (x86)\VIM\vim74"
TARGET=$(cygpath -w $1)
(/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim74/gvim.exe $TARGET &)
export HOME=$OLD_HOME
export VIMRUNTIME=$OLD_VIMRUNTIME
}
* Примечание: окружающая изогнутые фигурные скобки() останавливает идентификатор задания из портя вашу чистую оболочку, и вам больше не нужно «откреститься»
PS Единственная оставшаяся досада с этим сейчас заключается в том, что вы не можете «выйти» из оболочки babun до тех пор, пока все запущенные вами экземпляры gvim не будут закрыты. Может быть, кто-то может понять это. Я пробовал. Когда вы вводите exit, он просто висит там, пока вы не выйдете из всех gvims.
Спасибо за вашу суетливость! Это работает так же, как я бы хотел, с одним недостатком: HOME остается установленным способом gvim, а не тем, как хочет моя оболочка cygwin. Кроме того, я думаю, что для C: \ P вам нужно использовать '/ cygdrive/c/P'. – jspencer
Вы правы, это было бы/cygdrive/c/P, но я испортил, когда я набрал это, так или иначе, он показывал P: \, так как мой windows homedir установлен на диск P. Я не заметил эту проблему с домашними настройками cygwin vs gvim, я просто попробовал, и вы правы, что она оставляет мою оболочку cygwin с изменением $ HOME, я исправлю свой скрипт, чтобы нести исходный $ HOME с помощью команды. – low351
@jspencer, только что заметил, что вы опубликовали исправление, хорошо сделано. Спасибо, что я такой же суетлив, как и я :) Я использую вашу версию ... – low351