Ну, во-первых, пресловутый фолдинг. Хотя, может, дело в том, что я не смог его настроить по-человечески, возможно, он и не хуже. Есть еще интеграция с дебаггером, хотя это скорее свойство среды, чем редактора. Индикатор изменения блоков кода, показывающий, какие блоки ты редактировал после сохранения (ИМХО страшно удобно. И даже прикручиваемо, пожалуй) Дерево версий этих самых блоков кода. (Объективно это не так уж и здорово, ИМХО. Контролировать версии целого файла лучше). Список файлов проекта и зависимостей между ними. ctags. Точнее, что-то, что работало бы по-человечески, пускай оно и не называлось бы ctags. А еще возможность получения информации об объекте под курсором (функции, структуре etc) в виде какой-нить подсказки. И дерево свойств объектов, по которому можно было бы прыгать. LiveTemplates. David I показывал их на примерах. 1. case (который switch): ты пишешь "case", чего-то нажимаешь и получаепь форму "case e of ... endcase". После редактирования выражения e оно определяет его тип, и если это оказывается enum, то подставляет в case все возможные значения. 2. for: пишешь for, снова чего-то жмешь и получаешь форму "for I := .. to .. do begin ... end". После того, как все значения подставлены, редактор проверяет, объявлена ли переменная цикла, и добавляет ее при необходимости. Познаваемость этого всего. Окей, пускай вим это умеет *. Но делает * он неочеидными способами.
По поводу сложности прокручивания - IMNSHO сложность не в том, чтобы это запрограммировать, а в том, чтобы от такого количества наворотов консольное окошко не затрещало и не развалилось. Все-таки неудобно писать в окне, обвешанном со всех углов дополнительными наворотами. А делать их в отдельных окнах, боюсь, не позволят возможности вима связываться со внешними программами.
Re: ВЫПЛЮНЬ БЯКУ!
Date: 2005-12-04 11:11 am (UTC)Есть еще интеграция с дебаггером, хотя это скорее свойство среды, чем редактора.
Индикатор изменения блоков кода, показывающий, какие блоки ты редактировал после сохранения (ИМХО страшно удобно. И даже прикручиваемо, пожалуй)
Дерево версий этих самых блоков кода. (Объективно это не так уж и здорово, ИМХО. Контролировать версии целого файла лучше).
Список файлов проекта и зависимостей между ними.
ctags. Точнее, что-то, что работало бы по-человечески, пускай оно и не называлось бы ctags. А еще возможность получения информации об объекте под курсором (функции, структуре etc) в виде какой-нить подсказки. И дерево свойств объектов, по которому можно было бы прыгать.
LiveTemplates. David I показывал их на примерах.
1. case (который switch): ты пишешь "case", чего-то нажимаешь и получаепь форму "case e of ... endcase". После редактирования выражения e оно определяет его тип, и если это оказывается enum, то подставляет в case все возможные значения.
2. for: пишешь for, снова чего-то жмешь и получаешь форму "for I := .. to .. do begin ... end". После того, как все значения подставлены, редактор проверяет, объявлена ли переменная цикла, и добавляет ее при необходимости.
Познаваемость этого всего. Окей, пускай вим это умеет *. Но делает * он неочеидными способами.
По поводу сложности прокручивания - IMNSHO сложность не в том, чтобы это запрограммировать, а в том, чтобы от такого количества наворотов консольное окошко не затрещало и не развалилось. Все-таки неудобно писать в окне, обвешанном со всех углов дополнительными наворотами. А делать их в отдельных окнах, боюсь, не позволят возможности вима связываться со внешними программами.