День с vimом (история с продолжением)
Посидел несколько дней в vimе, погонял dbext, можно подводить первые результаты.
Vim понравился существенно больше, чем не понравился. Что полюбилось:
- Классные команды, выделяющие область, ограниченную парными скобками, типа
i(
илиa(
. Они очень «интуитивные», гораздо приятнее, чем выделять область ручками. - PowerPointом, сиречь МогучейТочкой, следовало назвать точку в vimе. Экономит много сил и доставляет удовольствие.
- Поиск с помощью
/
и*
на порядок удобнее, чем всякие Ctrl-F или F7 с их всплывающими окошками. - Виндовый порт vimа оказался по делу: он худо-бедно поддерживает мышку (удобно в табы тыкать, вместо
gt
) и Ctrl-C, Ctrl-V работают с виндовым клипбордом. Загадка, почему простой yank не копирует в клипборд? Было бы проще, чем изобретать"*y
.
Не очень удобно:
- Отсутствие интеграции с Фаром. В Фаре Ctrl-Tab переключает между всеми окнами редактора и панельками. Но в качестве альтернативного редактора vim запускается в отдельном окошке. Второй файл удобнее было бы открывать в том же самом vimе (меньше окошек — больше кислорода, да и yank-put удобнее делать), но из Фара это уже никак не получится — запустится вторая копия vimа.
- Не подсвечиваются парные комананды типа begin и end. Фаровский колорер это умеет. Не исключено, что можно научить и vim, надо будет поковыряться.
Подсаживаюсь! Пару раз уже пытался сказать cw
в браузере. Пальцы ещё немного путаются в командах, скорость редактирования пока пониженная (честно лезу в хелп, когда хочется сделать что-нибудь эдакое, и есть подозрение, что можно), но это дело не столь большого времени. Зато сколько удовольствия!
Между делом починил ещё один напильник, связанный с русскими буквами: в обычном режиме vim по умолчанию понимает только английские буквы, поэтому в русской раскладке никакую команду ввести нельзя. Решается очень просто, созданием соответствующего langmapа. А ещё полезно объяснить vimу, что русские буквы тоже входят в состав слов, чтобы работали команды типа w
. Делается заданием iskeyword.
Dbext не понравился существенно больше, чем понравился.
Попытка сделать инструмент для всех СУБД сразу привела к тому, что с Ораклом работать практически невозможно. Что плохо:
- Как уже писал, не работает select * из «широких» таблиц. Есть мысль, что wrapperом над Плюсом тут не обойтись, надо писать свою программку взамен (привет, dbms_sql).
- Много косяков, вызванных попытками подготовить текст для Плюса. Например, вырезание пустых строк (да, Плюс их не любит, но иногда они всё-таки нужны) или оборачивание запросов без удаления точки-с-запятой.
- Нужен режим, когда редактируемый файл целиком, безо всяких изменений, скармливается Плюсу (например, серия команд для создания каких-нибудь объектов БД). Причём хорошо бы с возможностью прыгнуть в код на нужную строчку, если произошла ошибка.
- Нет команды для просмотра плана запроса.
- Нет возможности загрузить в редактор, например, тело пакета по его имени.
В общем, сырость и кривость. Попробую на досуге поковырять dbext. Если повезёт, и в vimовских плагинах разберусь, и что-нибудь юзабельное сделаю.
Большой Силы проявление чувствую Я
(Anonymous) 2009-02-19 02:36 pm (UTC)(link)Не осталось ли в природе СУБД с сетевой организацией (ну там кортежи-аттрибуты) и если нет, то как сейчас с этим модно бороться?
Выражаю потребность: есть набор записей более-менее произвольного вида, состоящих из пар ((поле)::=(значение)]+
Требуется организовать поиск в виде транзитивного замыкания, т.е. брать произвольное (значение) и использовать его как (поле) для поиска.
Задача максимум - навести множественное отношение синонимичности (поле) = {(набор полей) } и тоже искать.
Ммм? :Е
СП
Мощно задвинул