четверг, 24 декабря 2015 г.

Нюансы разработки из консоли

Я уже давно отказался от работы в Netbeans, более того, от работы в GUI. Эта IDE достала меня своими тормозами, дождаться открытия diff'а перед коммитом почти нереально. А без просмотра диффа коммитить нехорошо. Бесконечное "фоновое сканирование проекта", откуда-то взявшаяся гора дубликатов файлов во все-таки открывшемся через 10 минут предпросмотре коммита, видимо из-за использования символьных ссылок. Тормоза UI, стоит только нажать Ctrl. И это на моем 4-ядерном  проце, 8Гб RAM и недешевом SSD диске Intel.
Тогда я и решил уйти в подполье. Сейчас работаю исключительно через putty, используя screen, vim, grep и консольный svn. Собственно сама работа ведется на сервере.

Поскольку сервер у меня работает 24х7 и доступен из инета - такой подход открыл массу удобств.
screen позволяет оставить работу в любой момент и в любом состоянии, закрыть putty, а затем вернуться и продолжить с того же места. Причем необязательно с того же компа. Хоть из интернет-кафе. Суть в том, что теперь не нужен специально подготовленный к разработке комп со всем установленным софтом. Только putty. И удобство работы зависит теперь не от мощности компа, а от размера его экрана. В принципе я и с нетбука однажды работал.
svn+vim вполне сносно позволяет смотреть diff и править прямо при просмотре. Это последнее, ради чего я иногда все же запускал Netbeans. Все-таки визуальный дифф - это очень удобно.
vim позволяет использовать гору плагинов, впрочем, я не увлекаюсь, дабы не получить тормозов. Удобная фишка - табы при редактировании файлов. Это, кстати, встроенная возможность vim'а, чтобы открыть несколько файлов таким образом, нужно использовать ключ -p
vim -p file1 file2
На фото - дифф одного из файлов моего проекта AcePHProxy, табы vim (вверху), группировка screen (внизу).


Настроить vim на всеми любимый "переход к определению функции" тоже можно, однако я работаю с одним и тем же проектом уже давно и сам знаю куда идти, тем более, что код там организован аккуратно. По сравнению с Netbeans я уж точно ничего не потерял, там пока дождешься этого перехода, уже можно давно файл найти и открыть самостоятельно.
Может я однажды попробую силы в написании плагинов для vim, тогда и организую.

Но linux не был бы linux'ом, если бы не требовалось доставать из ящика напильник..
Далее о том, как я настраивал svn diff через vim с редактированием прямо при просмотре, а также 256-цветный режим терминала и устранял сопутствующие глюки.