Редактором, который часто упускают из виду, является MacVim . Он основан на почтенном редакторе vim из * nix и может делать все, что вы просили, с помощью плагинов.
Я показываю, что он поддерживает 176 разных языков, включая все те, которые вы упомянули.
Я регулярно выполняю поиск существующих методов, переменных, случайных текстовых фраз с помощью сопоставления CNTRL_N или CNTRL_P, которое просматривает все открытые файлы и выдает список совпадений.
Vim называет свои проекты «сессиями», в которых хранятся все файлы, настройки окна, макросы и т. Д. Для последующей перезагрузки. Из «прямого» режима vim :mksession path/to/sessionfile
создаст его. Sourcing позже из командной строки просто: vim -S path/to/sessionfile
.
Есть отличный плагин под названием VCS , который обрабатывает мои SVN вещи:
... CVS, SVN, SVK, git, bzr и hg в VIM, включая внесение изменений и выполнение различий ...
Функция загрузки на сервер обрабатывается плагином netrw .
У vim есть крутая кривая обучения, vimtutor
которая, поставляемая с приложением, может помочь вам быстро начать работу. Также есть активные пользователи здесь и на дочерних сайтах SO, а также на IRC-узле vim на freenode.net.
Наверное, самая удивительная вещь в vim - это его доступность в сопряженной версии для Mac OS под MacVim, для Linux с использованием gvim, для Windows и из командной строки любой из этих ОС. vim на любом из них будет использовать те же команды, те же плагины, те же темы и т. д., в рамках ограничений этих сред. Я прыгаю туда-сюда с Mac на Linux весь день и у меня где-то открыто хотя бы одно окно vim.
И чтобы никто не подумал, что я не знаком с альтернативами только для Mac, я владею всеми своими копиями Coda, BBEdit и TextMate и использую их. Я возвращаюсь назад с BBEdit, и иногда использовал его для демонстрации на MacWorld. Это здорово, но я везде использую vim с одинаковыми настройками, и ни один из других редакторов не может этого сделать. Так что, если вам нужна эта кроссплатформенная совместимость, посмотрите на нее.