![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
||
|
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 2 Всего: 93 |
Клуб фанатов вима
![]() ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 2 Всего: 181 |
Как минимум макросы. Во всех нормальных (если кто не знает, в мире их всего 2 ![]() ![]() Еще я хочу удобства, простые программисткие удобства. В vim-e они есть, он для этого сделан, после привыкания к нему отвыкать ужасно не хочется. Возможно это звучит странно для тех, кто привык к более убогим эдиторам, но это так. Точно такое же чувство у меня возникает, когда после долгого использования линукса запускаю винду, или bash после zsh, но это уже флейм Что я понимаю под удобствами, в эклипсе конечно есть подсветка, интеллисенс, форматирование кода, парочка удобных шорткатов итд, но этого мало, я хочу иметь возможность с наименьшими усилиями отформатировать выделенный участок кода, в том числе и комментарии. Почему я должен выравнивать большие блоки комментариев по ширине вручную? Почему нельзя нормально соединить две строки? В vim-е любая операция по удалению копирует удалённый текст, и его можно вставить в другом месте. Это удобно! Не нужно специально копировать или вырезать его, он всегда там. Где в этом эдиторе блок-модус? Как переходить не только между {}, () и методами, но и между /* */? Как удалять текст в () {} [] /* */ "" ? Этот список можно продолжать бесконечно. И это я еще и 10% возможностей вима не знаю ![]() Vim используют не (только) потому что он модальный, а потому, что он функциональный. Что я по большей части и делаю ![]() Да, забыл, нафига еклипс постоянно меняет порядок не видимых в данный момент табов? Ну не влазят у меня на экране 6 табов, между 5 я могу переключится по Ctrl+PageDown/PageUp, а для остальных двух вылазит список, там надо до них стрелочками добираться... Бесит... ![]() Добавлено через 1 минуту и 3 секунды Запусти в консоли vimtutor Добавлено через 8 минут и 5 секунд А, вот еще вспомнил must have фичу ![]() ![]() -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
для еклипса AFAIK есть плагин(платный) добавляющий режимы vi, но я его в глаза не видел, слышал только (что есть)...
для студии аналогичный плагин - полный трэш, неделю на нем еле протянул =) и кстати, зачем вообще ide в linux-e? |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
|
|||
|
||||
Любитель |
|
||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Всмысле встроенный скриптовый язык? Или запись действий (потыкал кнопки - хочу повторить). Кстати, вот что-т нашёл - https://macroshmacro.dev.java.net/
Вот к zsh привык быстро. А удобства вима - хоть убейте, не оценил....
Потому что ещё не сделали встроенной возможности ))) Ну... Не сказал бы, что это плюс. Удалить - это удалть! И не надо поганить мне буфер. ЗЫ Мы ушли от темы ![]() |
||||
|
|||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
У тебя буферов в vim'е 10 штук минимум. Предыдущий при этом не затирается. Так что мимо ![]() Добавлено через 21 секунду Нет, ну личное дело каждого ![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Всё равно. Удалить - это удалить! Мне это текст - аюсолютно не нужен. Зачем его оставлять?! Cut - на то и cut, а delete - на то и delete ![]() Добавлено через 3 минуты и 27 секунд vim мне не нравиться именно в палне "модальности" (или как это там?). Скрипты, команды - я только за (ну с соответствующими хоткеями). |
|||
|
||||
nickless |
|
||||||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 2 Всего: 181 |
Желательно и то и другое ![]()
О, спс, надо будет попробовать... А вдруг понадобится? Памяти жалко? ![]() ![]()
Попробуй emacs, там функционал практически такой же, правда об шорткаты можно пальцы сломать ![]() Да, надо прекращать флудить ![]() -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
||||||
|
|||||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
vim.org -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Насчет "автокомплита для плюсов". Сейчас занимаюсь всякими архитектурными исправлениями и рефакторингами для одной библиотеки в проекте. В этой библиотеке > 500 файлов исходников. Так вот ни Visual Assist, ни SlickEdit, ни, тем более, Eclipse не могут правильно распарсить код. Правильно - это чтобы работала навигация по коду (поиск defenition and references) и был корректный автокомплит. На части кода они довольно хорошо подсказки выдают, но вот с навигацией у всех плохо... Правильно у меня заработал только XRefactory в Emacs, и то только после долгой и упорной настройки. Томозит он еще здоровски, когда индексирует исходники. Но зато все очень честно делает и всегда корректно выдает то, что нужно. Так что рефакторить и писать код для меня получается удобнее в Emacs (ну и компилировать тоже). Отлаживаться, конечно, удобнее в студии. А для профайлинга и слежения за памятью использую Rational Purify & Quantify. P.S. На vim еще даже не смотрел особо, знаю только как из него выходить и текст начать править ![]() |
|||
|
||||
Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
Специально для эстетов!
урра! -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 2 Всего: 181 |
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Сам по себе ctags для c++ явно недостаточен, т.к. он только индексирует исходники и строит тэги для "глобальных" объектов, и то с проблемами (см. caveats и bugs в мане). Только по тэгам можно сделать браузер классов. А вот для навигации и автокомплита уже нужно полностью учитывать правила языка, чтобы определять какого типа объект или что стоит за вызовом функции. А это уже совсем нетривиальная задача: нужно учитывать что попало в область видимости, какие глобальные символы перекрыты локальными, а так же то, что стоит за #include, #define, typedef, templates... Например, чтобы корректно переходить к defenition в случае, когда имеются перегруженные функции или просто функции с одинаковыми именами в разных классах, необходимо весь этот анализ в каком-то виде проделывать. Неужели в этих небольших скриптах для vim все это работает, даже для нетривиальных случаев? С помощью них можно, например, правильно найти все места в коде, где вызывается функция класса, имя которой совпадает с именами функций из других классов? В XRefactory, скорее всего, уже встроен почти front end компилятора для C++, поэтому он так долго и честно парсит исходники (да еще и по нескольку раз, если встречаются директивы условной компиляции).. Хотя надо будет найти время и попробывать на реальном проекте, вдруг и вправду все так замечательно работает... |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Фтопку XRefactory!
![]() 1. Утилу, строящую синтаксическое дерево кода + позволяющую обратно получить код (из изменённого дерева). В идеале двойное преобразование возвращает к исходному коду - т. е. храним также все отступы, что в каком файле и т. д. 2. АПИ для работы с этим деревом. + биндинги для питона и пр. + команд-лайн утилы для простых модификаций. 3. Пишем скрипты для вима и пр. для всяких рефакторингов. Вообщем что-т такое... |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 11 Всего: 173 |
Ага, EDG, который используется в Comeau и Intel C++. Любитель, полный разбор исходного текста неизбежен для нормальной IDE. Так поступают (не для C++) и Eclipse, и Visual Studio. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |