Оригинальная статья тут.
Cygwin (Сигвин) представляет собой набор Unix программ и библиотек, скомпилированных под ОС Windows и размещенных в файловой системе таким же образом как и в настоящем Unix-е. Благодаря этому мы получаем полный эквивалент Unix среды начиная от bash и вплоть до компиляторов gcc, которыми без особого портирования исходного кода можно собирать проекты для выполнения в Windows (достаточно большое количество кросс-платформенных приложений используют такой подход, так как он наиболее простой и быстрый).
Установка Cygwin
Скачать Cygwin для 32х или 64х - разрядной версии можно на сайте https://cygwin.com/install.html. Установка весьма простая - можно просто нажимать "Далее" до окна выбора пакетов (Select Packages). Тут перед вами откроется база пакетов, причем некоторые из них уже будут отмечены для остановки (базовы), другие вы можете отметить сами. Для того, что бы отметить пакет на установку, нужно ввести его имя в поле "Search", затем раскрыть категории и найти этот пакет. Потом нажать "Skip", в результате чего вместо Skip должна появится версия, которая будет установлена. Для дальнейшей работы отметьте пакет wget, остальное можно пока не трогать. Пакеты можно будет доустановить или удалить в любой момент времени, просто повторно запустив установщик, но это не совсем удобно, поэтому дальше в статье я расскажу как устанавливать пакеты из командной строки (для этого нам и понадобится wget).
По дефолту cygwin запускается в стандартном терминале Windows, что не очень удобно.
Терминал Console
Скачать можно тут http://sourceforge.net/projects/console/. Нужно просто распаковать архив куда-нибудь в Program Files и создать ярлык для быстрого запуска. Запустив Console заходим в настройке и на вкладке Tabs жмем на Add. В Shell указываем путь к cygwin.bat:
Оставшийся дефолтный таб можно удалить (выделеть и нажать Delete).
Теперь можно настроить действия по клавишам мыши в дереве Hotkeys/Mouse, например достаточно удобно копировать и вставлять нажатием правой кнопки мыши:
Назначение выполняется путем нажатия кнопки Assign.
Ну и конечно "горячие" клавиши в пунке дерева Hotkeys. Я назначил следующие комбинации (Остальные меня устраивают):
- New Tab - Ctrl + Shift + T (открыть новую вкладку)
- Copy selection - Ctrl + Shift + C (копирование выделения)
- Paste - Ctrl + Shift + V (вставка)
Также можно полазить по другим настройкам - можно найти много удобностей.
Пакетный менеджер для Cygwin
Что бы устанавливать пакеты через консоль в одну строку кода нужно установить apt-cyg (типа как apt-get в Ubunt-ах). Установка сводится к скачиванию, добавлению прав на выполнение и перемещению в папку выполняемого Path-а:
1 2 3 | wget raw.github.com /transcode-open/apt-cyg/master/apt-cyg chmod +x apt-cyg mv apt-cyg /usr/local/bin |
Пользоваться весьма просто, например для установки python2 в cygwin достаточно сделать:
1 | apt-cyg install python |
Поиск пакетов есть тут: https://cygwin.com/packages/
Установка пакетов для python с помощью pip
Пакеты в python часто устанавливаются с помощью pip, которого нету в репозиториях сигвина.
Поэтому его нужно установить отдельно:
1 2 | wget https: //bootstrap .pypa.io /get-pip .py python get-pip.py |
MAN-страницы для функций libc
Cygwin уже содержит мануал-страницы для стандартных команд, однако man для функций libc можно установить отдельно:
1 | apt-cyg install cygwin-doc |
Кстати Cygwin в некотором роде связан со встраиваемыми системами, так как использует Newlib реализацию libc, которая как известно повсеместно применяется в разных ARM-тулчейнах.
Vim в Cygwin
Установка:
1 | apt-cyg install vim |
Настройка выполняется в файле .vimrc в домашней директории:
1 | vim ~/.vimrc |
Я пользуюсь такими настройками:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | set backspace=indent,eol,start syntax enable set shiftwidth=4 set tabstop=8 set softtabstop=4 set expandtab set number set showcmd set cursorline filetype indent plugin on set wildmenu set lazyredraw set showmatch set incsearch |
Использование "родного" терминала Cygwin Terminal
Стандартный установщик Cygwin предоставляет свой терминал mintty (запускается через иконку Cygwin Terminal). В сравнении с Console он немного уступает в функциональности (например в нем нет вкладок), но он также имеет неплохой функционал, да и телодвижений меньше. Одной из приятных возможностей выступает поддержка 256-ты разрядных цветов в терминале:
Это позволяет использовать удобные темы подсветки синтаксиса для vim, например badwolf:
1 | mkdir -p ~/.vim /colors && wget https: //raw .github.com /sjl/badwolf/master/colors/badwolf .vim -O ~/.vim /colors/badwolf .vim |
Для её активации, в .vimrc надо добавить:
1 | colorscheme badwolf |
Выглядить это будет так:
Как сделать чтобы сохранялась история команд в bash cygwin?
В файле .bashrc нужно найти добавить:
1 2 3 | export HISTSIZE=10000 export HISTCONTROL=erasedups shopt -s histappend |
В первой указывается размер файла истории (10 тысяч команд), во второй включается удаление дубликатов команды (если введенная команда уже есть в истории, то старая удаляется для экономии места), и в третьей включается ведение истории bash.
Как в Cygwin перейти по пути заданному в стиле Windows?
Для первращения win-подобного пути в unix-style путь можно использовать утилитку cygpath.
1 | cd `cygpath "d:\projects\some\src" ` |
В результате путь превратится в "/cygdrive/d/projects/some/src" и передастся как аргумент cd.
Комментариев нет:
Отправить комментарий