Почему Emacs / Vim / Textmate? Разве Xcode не достаточно хорош? - PullRequest
58 голосов
/ 16 марта 2009

Привет, я в основном занимаюсь программированием на C ++, Objective-C. И я нашел Xcode плюс плагин автозавершения / макроса (словарь завершения) вполне адекватным.

Однако все люди, похоже, восхваляют своих чистых текстовых редакторов. Я немного попробовал Textmate; понравилась его простота, но не нравится его обработка файлов / фреймворка.

Я что-то здесь упускаю? Или Vim или Emacs имеют автозаполнение так же хорошо, как Xcode?

Ответы [ 21 ]

183 голосов
/ 16 марта 2009

Подними стул, сын, дай мне поговорить об этом.

Задолго до появления Xcode были VIM и Emacs. Я знаю, это сложно представить, но это правда.

Многие привыкли к VIM / Emacs и поэтому продолжают его использовать.

Emacs чрезвычайно настраиваемый и предлагает практически все, что вы можете себе представить (включая встроенную термоусадочную пленку и Ханойские башни). Вы можете легко вызывать компиляторы из Emacs и создавать собственные расширения по мере необходимости.

VIM имеет невероятный механизм регулярных выражений (Emacs делает то же самое) и очень удобен, потому что (VI) поставляется практически со всеми ОС Unix, и работает фантастически, если у вас нет клавиш со стрелками (да, настоящая старая школа). Люди очень хорошо умеют пользоваться клавишами для перемещения по документам без использования мыши.

То же самое относится и к Emacs, но для меня я считаю, что перемещение курсора намного проще в VIM.

Война в текстовом редакторе вызвана таким же религиозным фанатизмом, как война против Mac и ПК, и ответ - выбрать лучшее, что вам подходит. Если вам нравится XCode, отлично, продолжайте использовать его, однако удачи, если вам когда-либо придется работать на ПК или Linux-машине. Лично я использую Emacs для кодирования, VIM для манипулирования текстом и Firefox для просмотра lolcats.

15 голосов
/ 16 марта 2009

Я действительно не понимаю, почему emacs поддерживает, когда люди говорят о текстовых редакторах. По моему опыту, это больше похоже на затмение (или одну из этих других платформ / IDE), чем на vi, потому что - это * окружение , которое хорошо подходит для редактирования текста.

В качестве интегрированной среды разработки в emacs есть управление версиями, компиляция в реальном времени, проверка орфографии, автозаполнение, отладка, просмотр кода и многое другое для широкого спектра SDK. Для остальной части ваших вычислительных потребностей это клиент электронной почты / новостей / веб / irc / twitter / xmmp, календарь, органайзер, калькулятор, эмулятор терминала, удаленное редактирование, таблицы, игры и т. Д. И т. Д. И т. Д.

После Дейкстры: «Emacs не больше занимается редактированием текста, чем астрономия - это телескопы»

11 голосов
/ 16 марта 2009

Что вам не хватает, так это то, что Emacs и Vim на самом деле являются IDE.

8 голосов
/ 16 марта 2009

vi вездесущий в системах UNIX, а Emacs - почти так. AFAIK, Xcode на одной платформе.

Иметь мощную IDE - отличная вещь, но каждый должен обладать небольшим количеством навыков, чтобы поддерживать их работоспособность на любой платформе, на которую они могут попасть.

5 голосов
/ 16 марта 2009

Все зависит от ваших предпочтений.

Некоторым людям нравится работать с легкими текстовыми редакторами, такими как (g) vim, emacs, pico и т. Д. Другие любят работать с IDE, такими как MS Visual Studio, Eclipse, Xcode.

Пока ваша среда совместима с технологией редактирования текста, все зависит только от вас.

Кстати, мне нравится работать с Eclipse и vim, потому что они - то, что я использовал для изучения программирования;)

4 голосов
/ 06 августа 2009

Основная причина, по которой вы думаете, что такие люди, как Emacs / Vim, заключается в завершении кода. Такие люди, как Emacs / Vim, потому что они оба СДЕЛАНЫ для редактирования текста. У вас есть контроль и доступные вам опции, которых нет у других редакторов. Как только вы действительно ДЕЙСТВИТЕЛЬНО освоите одну из этих программ, вы захотите, чтобы эти привязки / команды были доступны везде. Макросы, регулярные выражения, перемещение по поиску / слову / абзацу / функции, взаимодействие с управлением версиями, сложные функции отмены / возврата и копирования / вставки, а также опции расширения - это всего лишь НЕСКОЛЬКО вещей, которые эти редакторы действительно очень хорошо делают. *

Завершение кода - это лишь одна из многих вещей, которые могут упростить написание программ. Emacs / Vim может обрабатывать ВСЕ из них (изначально или с помощью расширений).

3 голосов
/ 16 марта 2009

Я лично люблю Emacs. Я использовал vim и несколько IDE. В Vim и Emacs есть отличные сообщества, в которых люди готовы кодировать функции практически для любого языка. Я не знаю ни одной IDE, которая, скажем, поддерживает Haskell. Все зависит от того, что важно для вас. Оба имеют языки расширения, хотя IMO, emacs lisp - лучший из двух. Умение игнорировать мышь - это главное, что мне нравится. Многие IDE также поддерживают режимы или расширения совместимости emacs и vim. У них обоих есть большие временные вложения, но они того стоят. Рано или поздно вы выберете, какой вам подходит, vim / emacs / IDE, а затем продолжите совершенствовать свои навыки с ним.

3 голосов
/ 16 марта 2009

Нет, не совсем. Это действительно вопрос предпочтений. Мне нравилось работать в Visual Studio 6, но в настоящее время новые версии слишком раздуты. Поэтому, если я могу сделать что-то вне VS, я обычно делаю это, не открывая всю коробку IDE.

В Windows мне нравятся notepad2 и gvim. Я настроил vim так, чтобы он полностью соответствовал моим потребностям, поэтому мне не нужно думать о том, что и где.

Но приятно упомянуть, что (вы также можете сами это выяснить, прочитав подобные сообщения), многие пользователи используют vim / emacs / ..., потому что он самый лучший / крутой -фактор / фактического удобство и простота использования. Так что, если он вам не подходит, не используйте его. Никто не посмотрит на тебя с другой стороны, причина этого.

3 голосов
/ 16 марта 2009

Для меня наиболее две наиболее важные функции:

  • Связки клавиш Emacs, так как это то, с чем мои пальцы совместимы.

  • Открытый код, за свободу, которую он предоставляет. Быть привязанным к одной платформе - это анафема.

В настоящее время я в основном использую Eclipse для программирования (для привязок клавиш Emacs) и FSF Emacs для чтения почты и иногда LaTeX.

2 голосов
/ 18 апреля 2011

Emacs является мощным. Я использую emacs с vimpluse.el, чтобы использовать привязки клавиш vim со всеми функциями emacs.

...