2009-08-14 3 views
20

Я разработчик, осуществляющий переход от Linux/Emacs к OSX/Xcode. У кого-нибудь есть советы или рекомендации по сглаживанию этого перехода в отношении редактирования текста? В частности:Советы по переходу с Emacs на Xcode

Какие привычки Emacs вызвали наибольшую изжогу при переключении, то есть какие ошибки вы делали повторно, что было результатом фона Emacs?

Был ли способ сделать работу Xcode аналогичным образом, или это потребовало изменения в поведении?

Есть ли что-нибудь, что вы пропустили от Emacs, которого вы не можете получить в Xcode?

Меня больше интересует часть этого текстового редактора, например. привязки клавиш, разделение окон, перемещение между буферами и т. д. Я никогда не использовал Emacs в смысле IDE. Для меня это был чистый текстовый редактор. Компиляции произошли в другой оболочке. То же самое для SCM.

+1

На боковой ноте я слышал, что XCode 3.2 в Snow Leopard поддерживает встроенный поиск, как в emacs. – ustun

ответ

22

Не полностью переключитесь на Xcode, просто используйте Emacs для редактирования и Xcode для остальных (дизайн пользовательского интерфейса, компиляция, отладка и т. Д.). Кажется, это лучший компромисс для вас (и для меня, потому что я использую Xcode таким образом :-).

Лучшая часть заключается в том, что Xcode позволит вам изменить редактор по умолчанию на что угодно! Просто установите редактор текста «text -> sourcecode» в Emacs.app (или в нижнем регистре emacs, если вы хотите использовать версию терминала) на вкладке «Типы файлов» в настройках Xcode, и ваша жизнь будет более счастливой :-)

На всякий случай: при открытии файла из OSX (перетаскивая его в значок Dock, открывайте его из Finder, ... и даже открывайте его из Xcode), поведение Emacs.app 23.1 по умолчанию заключается в том, чтобы открыть новый кадр , Если вам это не нравится, просто добавьте

(setq ns-pop-up-frames 'nil) 

в конфигурационный файл emacs.

+0

Ахх, вот что я искал. Я решил, что этот параметр будет находиться на вкладке «Текстовый редактор» настроек. Когда я этого не увидел, я принял худшее. Вы имеете в виду: (setq ns-pop-up-frames nil) –

+1

да, извините, что что-то пошло не так с cut & paste :-) –

+2

Хмм. Предпочтения> Типы файлов> Текст> Исходный код, похоже, исчез в 4.5.2 :( –

4

Переход не все так грубо, как только вы обнаружите все, что может предложить XCode.

Большинство текстовых команд редактирования текста Emacs находятся в XCode (и вообще приложениях Cocoa), поэтому здесь не так много боли, как можно было бы подумать.

Вы можете даже расширить Xcode на выбранном вами языке (вы даже можете использовать elisp в режиме сценария, теперь, когда я думаю об этом, мне придется попробовать это), хотя вы всегда будете вынуждены использовать Applescript в большинстве сценариев и расширяемости не так хорош, как в Emacs, и нет большого сообщества пользовательского сценария, чтобы легко получать расширения. Обычно вы можете получить несколько симулякров в аспектах IDE Emacs, идущих XCode, например, я отложил некоторое время назад и написал несколько сценариев и интегрировал XCode с Git, который официально не поддерживается функциональностью SCM XCode.

Я всегда буду пропустить ido-mode, работая в XCode, пропущу, используя слово вперед и слово обратно в XCode, и я использую мышь намного больше, чем в Emacs. Одна маленькая вещь, которая в конечном итоге становится для меня довольно раздражающей, заключается в том, что совпадение в виде круглых скобок отменяется только тогда, когда вы передаете курсор над закрывающей скобкой слева направо. Вы не можете видеть совпадение, если вы держите курсор в правой части закрывающей круглой скобки.

То, что вы пропустите, будет более чем компенсировано тем фактом, что XCode хорошо приспособлен для развития в Objective-C и Cocoa. При этом я использую его только для Objective-C и Cocoa. Что-нибудь еще, включая скрипты пользователя, сначала пишу и тестирую в Emacs, а затем XCodeize (для ввода-вывода и т. Д.) В качестве последнего шага.

Я обнаружил, что самое важное в процессе перехода было прекратить жаловаться на то, что XCode не является Emacs и начинает вкладывать эту энергию в выяснение того, как заставить XCode делать то, что я хотел сделать. Пока вы используете XCode для Objective-C/Cocoa, вы сможете получить то, что хотите сделать (вы не сможете «легко» превратить XCode в персональный органайзер и приложение расписания, например, было например, с Emacs).

Вот список полезной информации для тех, кто подходит к XCode: XCode tips that you wished you knew 2 years ago.

+0

Слово FYI вперед и слово назад привязаны к Alt- и Alt- , где Cocoa управляет редактируемыми текстами вещами. –

+0

Ха, у меня было пронзительное чувство, что я ошибался, утверждая, что я не знал об этом, но не мог для жизни меня помнить, почему. Ты это сделал. Это настолько плохое обязательство, что я никогда не использую его и «забыл» об этом. Мне не нравятся все привязки, которые используют клавиши со стрелками для того, что, по моему мнению, было бы очевидными причинами. – Pinochle

+2

вы должны вернуться в Emacs;) –

4

Не делайте этого.

Я переключился с emacs на XCode (aquamacs even) для моего первого проекта iPhone. В моем следующем проекте iPhone я буду использовать emacs.

Если вы тип, который нравится Visual Basic, вы можете использовать его с помощью emacs. Но если вам просто нравится писать код, нет смысла использовать XCode.Вы можете получить всю объективную любовь C в emacs.

+0

Вам все равно нужно вставлять Xcode для чего-нибудь? Я использовал IDE в прошлом, когда наиболее удобным подходом было редактирование в Emacs, затем откройте код в среде IDE и сверните цель оттуда. Мне еще пришлось использовать IDE для некоторых задач отладки. –

+0

Как я уже сказал, для моего следующего проекта я возвращаюсь обратно. В течение следующих нескольких дней я все еще выдерживаю XCode. –

Смежные вопросы