Показаны сообщения с ярлыком vim. Показать все сообщения
Показаны сообщения с ярлыком vim. Показать все сообщения

вторник, 10 августа 2010 г.

Ода eclipse

Очень часто люди задаются вопросом, чем пользоваться для разработки программного обеспечения. Однозначного ответа тут нет. У меня очень долго не складывались отношения с eclipse, так как либо он тормозил, так как компьютеры были слишком слабыми, либо он падал, так как что-то с чем-то не срасталось, либо у меня на тот момент оказывались более удобные инструменты. В целом, использование eclipse идет немного мимо желания шире использоват vim. И тем не менее, я сейчас пользуюсь eclipse, и нисколько не жалею. Пользуюсь на маленьком asus eee 901, на котором как утверждается - невозможно им пользоваться. Оказалось - возможно. Главное, очистить как можно больше рабочего пространства. Мое выглядит приблизительно вот так:

Вполне душевно.

Самое вкусное естественно в том, что за время глючной жизни затмения под него было разработано множество плагинов, да и сам он оброс полезным функционалом. Перечислю те, которые сильно помогают мне:
  • Vrapper - делает eclipse похожим на vim. До полного сходства далеко, но зато весь функционал остается в непосредственной доступности.
  • Pydev - теперь мы можем редактировать и отлаживать python.
  • EPIC - если вы еще не забыли о языке perl, этот плагин вам также понадобится. Меня он тут очень выручил, когда выяснилось, что модуль получения котировок вышел из строя.
  • MercurialEclipse - интеграция с mercurial.

Итого, у меня почти vim, я могу править и отлаживать все что мне нужно, все это собрано в одном месте, да и в версии eclipse helios добавили хорошие возможности по созданию ссылок в рабочем пространстве, что сильно упрощает жизнь, очень удобно. В экран влезает, работает достаточно стабильно. Вот и встает вопрос, как же подружить свою любовь к vim и удобность работы с eclipse. Пока ответа нет (eclim не предлагать, хочу его использовать, но я так понимаю - придется его пилить, то, что я попробовал - это слишком мало, по сравнению с тем, что дает мне vrapper), я иду на компромисы и изучаю возможности и того и другого, не отдавая однозначного предпочтения. В конце концов я уверен, что прийду к какому-то хорошему варианту, лучше, чем текущий.

А пока, спасибо eclipse за повышение моей продуктивности.

понедельник, 19 апреля 2010 г.

uzbl & vim: новости из стана командного режима

Обустраиваю нетбук. После того, как я сделал шрифты "четкими", решил в очередной раз расширить место на экране. Во первых, поставил ubuntu 10.04 netbook remix, меню там забавно выглядит, окошки все в полный экран. Во вторых, занялся, и изучил новые вещи в vim, первыми были закладки, затем - окошки, ну и под конец - файловый менеджер. А раньше я всем этим не пользовался толком (ну только окошками пользовался, ито, как-то набегами). Ну и финал, таки uzbl, да. Unix way, мать его.

Uzbl, конечно, еще та штучка. Прокси задается через конфиг, из окружения не цепляется. В прошлый раз меня это остановило. В этот раз я настроил в конфиге. Замечательная штука "fl" не заработала (но выглядит красиво, буду экспериментировать, может разберусь). Но так, вроде через силу можно заставить себя пользоваться. Посмотрим, надолго ли меня хватит.

Мне кажется, на нетбуке все мои выкрутасы с редакторами, браузерами и окружением вполне оправданы. Клавиатура тут маленькая, некоторых клавиш просто нет. По этой причине отпал emacs, там все работает через сочитания клавиш, ctrl + x, ctrl + s. Жать одной и той же рукой две клавиши - нарушение идеологии слепой печати. А ctrl на нетбуке только один и слева, так же как и s и x. Трэкпадом, опять же таки, пользоваться неудобно. Мышку внешнюю подключать - бред, с нетбуком я чуть ли не в сортир хожу, таскать мышку неудобно. Значит все должно быть на клавиатуре, и как можно с меньшими телодвижениями. И это vim. И я знаю 1% его возможностей, точно - не больше, и все равно - это уже очень много. Подтягиваем другой софт с vim-управлением, и вот он - идеал для нетбука. Когда я только начинал осваивать, было тяжело, было непонятно, как это может быть удобно? Потом, в обычном редакторе ловишь себя на мысли, что ты перегружен, и мог бы сделать это намного быстрее с vim.

Сейчас на работе я активно пользуюсь eclipse, к сожалению, приемлемого vim-решения я пока не нашел. В netbeans же был вполне сносный jVi. Это не vim, но очень много от него + netbeans, в сумме - весьма продуктивно. Будем искать, смотреть, пробовать, скорее всего рано или поздно найдем отличное решение и для eclipse.

понедельник, 16 ноября 2009 г.

Vim и Blogger: Dependency hell

Я решил освоить в нагрузку ко всему еще и vim. Возможно, это было
ошибкой. Но было интересно. Итак, решаем привычную задачу - постим
записи из редактора. Даже не так. Как все было: я хотел запостить
сообщение с своим скриптом для сборки свежей версии gentoo-sources
ядра. Запостить из vim. Что для этого надо? Естественно, нужен vim,
плагин для vim для blogger. И еще хорошо бы раскрасить башевский
скрипт всеми цветами радуги перед постом. Итак, идем по шагам.



Шаг 1. Vim



Этот шаг оказался на самом деле самым простым. Я не говорю о
установке самого vim, я говорю о настройке плагинов. Оказалось есть
замечательный GLVS (GetLatestVimScripts). Он вроде как уже впаян в
vim. Так что нам остается только подправить его настройки.
Прописать там наш плагин blogger.vim, и настроить параметры
автоинсталляции в .vimrc . Все бы хорошо, но оказалось, что я
создал файл .vimrc не совсем в корне домашней директории, что
помешало инсталляции автоматом. Ну ничего, я и сам смог распаковать
папочку. И доставить потом еще один плагин, от которого зависит наш
пациент.



А дальше мы выясняем, что корни нашего плагина уходят в ruby.
Достаточно интересный поворот.



Шаг 2. Ruby



Здесь мы имеем gentoo с ее системой пакетов. Первая зависимость -
nokogiri, имеется, так что:



phoenix kilork # emerge nokogiri


Со второй обстоит дело хуже. В портежах его нет, зато можно
поставить очень просто через gem:



gem install rpeg-markdown


Вроде бы все. Пробуем запустить и бац. Опять не работает. На этот
раз не хватает net-https-wrapper. И его нет ни в портэжах, ни в
gem. Что за зверь такой? Оказывается, это гениальная поделка автора
blogger.vim. О зависимости от которой он естественно забыл
упомянуть. Находим, закачиваем, распаковыем, делаем:



kilork@phoenix ~ $ gem build net-https-wrapper.gemspec
kilork@phoenix ~ $ gem install net-https-wrapper-1.0.gem


Хочу обратить внимание, что я ставлю под рутом только то, что
ставлю портэжами.



Счастье близко. Список записей мы уже можем вытащить. Но, дальше,
что-то не работает снова. Видимо, это последняя зависимость из
списка автора, которому как выясняется - верить не стоить. Верить
вообще никому нельзя. На этот раз мы выясняем, что требуется
установка pandoc, а это - haskell.



Шаг 3. Haskell



Выясняем, что чтобы поставить pandoc, нам лучше всего
воспользоваться cabal, аналог gem и cpan, но для haskell. Чтож,
легко:



phoenix kilork # emerge cabal


Должно было быть легко, но как выяснилось, все не так хорошо, как
хотелось бы. Этот cabal, это совсем не тот cabal, который нужен.
Нужно делать на самом деле так:


phoenix kilork # emerge haskell-platform


Вот теперь можно сделать под обычным пользователем:



kilork@phoenix ~ $ cabal update
kilork@phoenix ~ $ cabal install pandoc


Добавляем в пути наш каталог с бинарными файлами cabal, где лежит
тот самый pandoc. Ссылки на требуемый на самом деле html2markdown
там пока что нет, файл лежит где-то в недрах share в поддиректориях
.cabal . Создаем на него символическую ссылку, назначаем полномочия
на исполнение. И... Ничего. Опять ничего, теперь он еще почему-то
не работает. Тут я уже устал мучаться, залез в собственно
html2markdown, обнаружил у него две проверяемые зависимости: tidy и
pandoc. Ругается на pandoc. Проверку тупо убираем, он же у нас
есть, зачем ругаться, да?



С tidy все не так плохо, она есть в портэжах:



phoenix kilork # emerge htmltidy


Шаг 4. .vimrc



Вот это позволит нам найти наш блог:


let g:blogger_blogid = 'your_blogid_here'
let g:blogger_email = 'your_email_here'
let g:blogger_pass = 'your_blogger_password_here'


И все, работает.



Получение записей блога:



:e blogger:list


Ходим по списку, жмем enter, редактируем, жмем :w . Все просто.



Создание новой записи:



:w blogger:create


Итоги.



Все как в анекдоте про допил напильником. И все работает через одну
хитро закрученную жопу. Ну и может быть мое руководство кому-то
поможет. Или кто-то посмотрит, и скажет, как можно было все сделать
по правильному. А я пока подумаю, как бы мне tag проставлять...