Действительно ли стоит инвестировать время в обучение использовать Emacs?

Потому что вы передаете копию указателя. Чтобы изменить указатель, вам нужно что-то вроде этого:

void foo(int **ptr) //pointer to pointer
{
    *ptr = new int[10]; //just for example, use RAII in a real world
}

или

void bar(int *& ptr) //reference to pointer (a bit confusing look)
{
    ptr = new int[10];
}
56
задан Peter Mortensen 2 September 2010 в 20:43
поделиться

22 ответа

Я предпочитаю emacs vi, но я удобен в обоих.

существуют некоторые вещи, которые можно сделать в emacs, которые делают его более мощным, чем vi, но не все они даже связаны с программированием. (Можно ли послать электронное письмо или считать ли новости из vi? Нет, но кто заботится?), Если Вы довольны шепелявостью (я не), Вы могли бы быть в состоянии записать дополнения и режимы и материал для создания жизни легче, но это, просто, вероятно, будет окраской синтаксиса и соответствием фигурной скобки и усладой для глаз как этот.

я прекращу околачиваться теперь. Будет Ваш производительность увеличение с помощью emacs? Нет.

Обновление : См. мой комментарий ниже. Так как я отправил это, я имею , сталкивается со способами, которыми использование emacs сделало меня более продуктивным, чем использование vi.

35
ответ дан Graeme Perrow 26 November 2019 в 16:58
поделиться

Одно серьезное основание изучить Emacs состоит в том, потому что другие программы используют привязки клавиш Emacs также. Можно использовать привязки клавиш Emacs при подсказке удара, например, или чем-либо еще с помощью GNU readline. Хорошо изучить основное перемещение и удаление слова/строки и хорды отмены/восстановления в Emacs так, чтобы можно было использовать их в других программах. Ваша производительность увеличится в тех других инструментах, даже если Вы никогда не будете использовать Emacs снова.

я знаю Vim и Emacs, и Vim соответствует моему мозгу и моим привычкам лучше. Но другие люди требуют того же о Emacs. Вы никогда не знаете для себя, если Вы не пробуете. Это не занимает у этого много времени для изучения Emacs достаточно хорошо, чтобы видеть, собираетесь ли Вы любить его.

1
ответ дан Brian Carper 26 November 2019 в 16:58
поделиться

Вы - производительность, увеличится, если Вы решите вставить время для программирования текстового редактора. Из этих двух редакторов emacs представляет лучшую платформу или постоянную настройку. Если Вы не программируете свой текстовый редактор, просто остаетесь с тем, что удобно.

1
ответ дан Jay Stramel 26 November 2019 в 16:58
поделиться

Вдоль той же строки не поиска религиозной войны (но разрешение и downvote меня, если Вы чувствуете Вас, должен), почему Вы чувствуете, что единственная опция к vi является emacs? Действительно ли это - ОС, которую Вы разрабатываете на, или просто опции, которые Вы исследовали?

среда разработки Java обладает некоторыми лучшими IDE в эти дни (и свободный и оплаченный), если не лучшее когда дело доходит до редактирования кода и рефакторинга поддержки. ИДЕЯ IntelliJ даже имеет vi плагин, который может помочь Вам чувствовать больше дома, например (не уверенный, если что-то подобное доступно для Eclipse). В то время как изменение инструментов действительно подразумевает кривую обучения, время потратило выполнение, это могло бы стоить того, если прыжок является достаточно большим.

2
ответ дан Andrei 26 November 2019 в 16:58
поделиться

Как быстро Вы вводите? Если Вы ищете и клюете, то emacs не для Вас. Если Ваш быстрый tho, это может помочь не необходимости захватить Вашу мышь все время.

2
ответ дан dicroce 26 November 2019 в 16:58
поделиться

энергия и emacs, они - самые способные редакторы и были в течение достаточно долгого времени. Если Вы знаете тот действительно хорошо, я сомневаюсь, что Вы получите так много в процессе...

Однако это всегда - хорошая идея изучить, какой плагин, которые доступны начиная с нескольких новых плагинов, может сделать чудеса для производительности.

/Johan

3
ответ дан Johan 26 November 2019 в 16:58
поделиться

[Правовая оговорка: лично , я предпочитаю Vim. Правовая оговорка правовой оговорки: продолжать читать.]

Vim выделяется в маленьком: путем создания движения и действия разделяют понятия и предоставления услуг для сложных повторений, можно выполнить невероятно мощные операции редактирования в просто короткой последовательности нажатий клавиш. Можно легко сделать вещи в Vim в нормальном ходе редактирования, которое потребовало бы Вас к выпадающему к сценариям в Emacs. Кроме того, большая часть питания, которое Вы используете, выходит из поля, поэтому даже если Вы имеете обширный .vimrc удовлетворение требованиям заказчика, возможности - Вы, будет в состоянии работать продуктивно с любой установка Vim.

Emacs выделяется в большом: путем отображения всех его понятий UI непосредственно к основным конструкциям и понятиям в Elisp, становится очень легко глобально представить функции определенных видов файлов или обстоятельств, делая Emacs чем-то как основанное на тексте и намного больше structuredly программируемой формы Excel. Это предполагает, что Вы собираетесь провести много времени, настраивая Вашу среду для личных нужд и предпочтений. Конечно, Emacs действительно прилагает все усилия, чтобы облегчить оставаться в той одной среде для всего и чего-либо, что можно хотеть сделать.

В конечном счете, ни один не выше. Они предлагают различные стили, и в зависимости от Ваших склонностей, один или другой удовлетворит Вашим личным нуждам и образу мыслей лучше. Всегда полезно знать обоих (плюс больше редакторов), конечно. Но Вы aren’t, собирающийся быть заметно более продуктивным этот путь или это.

43
ответ дан Aristotle Pagaltzis 26 November 2019 в 16:58
поделиться

vi является кухонным ножом.

энергия является действительно хорошим, резким, сбалансированным разделочным ножом.

Emacs является световым мечом.

Большую часть времени, мое задание требует, чтобы я прервал овощи. Иногда, я должен взять всю армию роботов.

я использовал Emacs в течение 20 лет. Я ввожу в Emacs прямо сейчас с виджетом, названным "именно, Весь текст" позволяет мне всосать текст и из текстовых полей в Firefox. Я могу пойти действительно быстро в Emacs. Я значительно менее продуктивен без него.

Это очень debateable, но я также думаю, что изучение Emacs может преподавать Вам удивительную сумму программированию.

29
ответ дан jfs 26 November 2019 в 16:58
поделиться

В зависимости от того, как Вы кодируете, Вы можете видеть, что производительность увеличивается. Для фона я - также давний пользователь энергии, но я изучил emacs приблизительно 2 года назад, и теперь используйте их попеременно.

то, Что управляло мной на грани фактического изучения emacs, было его полезной способностью иметь большое количество файлов, открытых сразу и легко переключиться между ними. Я был посреди представления функции, которая добавила и коснулась большого количества классов. (Это было C++, таким образом, обычно было два файла в классе.), Так как я все еще уплотнял интерфейс, я обычно буду посреди обновления одного файла, когда я понял бы, что должен был изменить другого.

С gvim, было самым легким открыть новое окно для каждого файла, который начинал становиться громоздким. С Emacs, тем не менее, было просто открыть новый файл в том же окне (Ctrl-x, Ctrl-f). Как только Emacs имеет открытый файл, очень легко переключиться назад и вперед между открытыми буферами (Ctrl-x, Ctrl-b).

Взятие, что один шаг вперед, единственная emacs сессия может открыть много окон, таким образом, в дополнение к разделению окна вертикально, я мог решить, не прерывая работу над файлом, для открытия другого рядом с ним, позволив мне эффективно работать бок о бок, все еще сохраняя каждое окно в 80 ширине символов по умолчанию.

существуют все еще некоторые вещи, которые я нахожу легче в энергии (например, избранный блоком режим, простая запись макроса, различный режим), и вещи, которые легче в Emacs (выравнивание строки, файл/организация буферизации данных, окно/управление экраном). Поэтому я чередуюсь между двумя (и иногда использовать обоих одновременно), завися задача редактирования, которую я ожидаю.

, Если бы Вы все еще не уверены, я предложил бы испытать его. Пробегите учебное руководство Emacs и затем используйте его для записи кода в течение утра или дня, склоняясь в большой степени на справке. Если Вам все еще не нравится то, что Вы видите, остаетесь с энергией. Независимо от того, что редактор приносит к таблице, Ваше знакомство и знание инструмента безусловно будут наиболее важным фактором в Вашей производительности.

27
ответ дан shmuelp 26 November 2019 в 16:58
поделиться

Нет (и я использовал обоих).

3
ответ дан Peter Mortensen 26 November 2019 в 16:58
поделиться

Emacs обеспечит повышение эффективности, если Вы будете готовы изучить и настроить его для установки потребностям. Большинство людей не. Для повышения производительности, необходимо использовать инструмент для больше, чем простого редактирования - большинство людей никогда не прогрессирует редактирование простого прошедшего.

Вот быстрый тест: Вы настроили свой менеджер окон для создания среды более эффективной (адаптированный для установки потребностям)? Если 'нет' тогда, вероятно, Вы не получите ROI путем изучения emacs.

Однако при разработке Java Eclipse является стандартным ответом, таким образом, вопрос довольно спорен.

8
ответ дан Trey Jackson 26 November 2019 в 16:58
поделиться

Я люблю emacs и использую его каждый день.

Однако я не думаю стоимость изучения, что она будет возмещаться повышениями эффективности в будущем.

при программировании Java Вам нужен хороший IDE. Emacs идет справедливым путем к тому, чтобы быть тем, но давайте столкнемся с ним, ИДЕЯ и др. победила его без всяких усилий. (emacs, вероятно, вдохновил много тех IDE, но это - другая история).

5
ответ дан gerikson 26 November 2019 в 16:58
поделиться

Дважды я попытался изучить Emacs. Это просто не соответствует, как мои интеллектуальные труды, и таким образом, я не использую его.

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

Попытка Emacs. Посмотрите, соответствует ли это лучше. Это нет - теряют ситуацию.

4
ответ дан Andy Lester 26 November 2019 в 16:58
поделиться

Я не хочу священной войны, но ответьте на очень субъективный вопрос с ответом "да"/"нет".

Да, можно видеть, что производительность увеличивается из-за мощной функциональности.

нет, Вы не будете видеть, что производительность увеличивается, потому что шаблоны и метафоры, используемые в emacs, не могут выровнять с Вами мозг.

17
ответ дан Alan Storm 26 November 2019 в 16:58
поделиться

Я хочу изучить emacs далее, но я просто не могу использовать его для длинных фрагментов времени; это повреждает мои руки. Я делаю что-то ужасно неправильно?

3
ответ дан Bernard 26 November 2019 в 16:58
поделиться

Документация Emacs является лесом. Я приехал от Emacs до Vim, когда я понял, как документация организованного Vim, и насколько chordable многие функции. Я не знаю то, что ложится путь эксперта Emacs, но я буду предупреждать Вас, что, учась делать что-либо полезное в нем занимает много времени и не сделает Вас немного лучше в nethack. Палка с Vim.

Textmate является лучший Emacs для Macs, хотя это не поможет Вам с Солярисом. Eclipse довольно прохладен, и имеет много плагинов.

10
ответ дан Nick Retallack 26 November 2019 в 16:58
поделиться

Так как vi/Vim и Emacs достаточно близки с точки зрения того, что они могут или не могут сделать, производительность с этими двумя редакторами прибывает из опыта в использовании его.

По-моему, будучи программистом это не займет у Вас много времени, чтобы в общих чертах понять Emacs, после того как Вы начинаете использовать его. Другие могут только сказать так много, Вы добрались для испытания его, чтобы себя знал это.

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

1
ответ дан Peter Mortensen 26 November 2019 в 16:58
поделиться

Увеличится ли моя продуктивность?

В течение первых нескольких дней / недель - абсолютно нет.

После того, как вы перестанете читать руководство каждый раз, когда захотите что-то отредактировать - конечно ..

Emacs более "мощный", чем vim, его скриптовый движок гораздо более гибкий, и есть гораздо больше скриптов, режимов и т.п., построенных вокруг emacs.

Тем не менее, Верно и обратное ... Если бы вы потратили столько же времени на улучшение своих знаний о vim, вы могли бы быть столь же продуктивными ..

Может быть, не так продуктивно - я бы сказал, что vim быстрее редактирует файлы, emacs лучше справляется со всем остальным (опять же, я бы лично сказал такие вещи, как flymake-mode , привязки VCS быстрее в использовании, чем эквивалент vim)

1
ответ дан 26 November 2019 в 16:58
поделиться

Я использовал Vim в течение 10 лет, пока не углубился в Emacs 2 года назад. У меня есть достаточно свежие воспоминания о том, как моя кривая производительности изменялась с течением времени.

Все мои оценки условны, YMMV в зависимости от ваших сильных сторон и опыта.

Если вы использовали Unix и командную строку достаточно долго, вы можете знакомы с Ca, Ce, Cn, Cp, Ck, Cy и т. д., поскольку они работают в оболочке, не займет много времени перейти к использованию тех же привязок (по умолчанию) в Emacs. Недавно я обнаружил, что XCode также использует эти привязки.

Если вам удобно работать с постоянно работающим редактором, обрабатывать буферы (например, вкладки браузера) и, таким образом, жить в приложении (как если бы вы работали с приложениями Web2.0 в browser), Emacs, вероятно, сразу же покажет повышение производительности.

Если вы обычно работаете в проектах с множеством связанных файлов, такая настойчивость дает некоторые дополнительные преимущества в поддержании контекста для этого буфера. Каждый буфер связан с открытым файлом, что позволяет удобно использовать различные инструменты повышения производительности для вашего проекта (например, grep-find, eshell, run-python и slime). Это в сочетании с автозаполнением текста, ясными сообщениями и т. Д. Начинает выглядеть крохотной частью, как IDE, хотя и произвольно и сильно индивидуализировано вашей конфигурацией. Это отдельно от более цивилизованных сервисов, подобных среде IDE Emacs, таких как ECB.

Моя продуктивность поначалу упала, так как я набирал «jjjkkk» постоянно Esc-Esc-Esc-Esc в течение первой недели или около того. На следующей неделе я осторожно начал использовать правые навигационные клавиши. Потом обнаружил файл конфигурации ... Честно говоря, Если бы у меня с самого начала был Emacs Starter Kit , я бы сказал, что моя продуктивность медленно вернулась к паритету в течение 3-4 недель, но я все же спустился в кроличью нору конфигурационного файла. Однако мой коллега только что перешел с vim на emacs, он только что взял Starter Kit, и он уже в пути. В первую неделю он чувствует себя комфортно и наслаждается всеми неожиданными преимуществами (это ощущение, вероятно, продлится десять лет).

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

Мой короткий ответ: да, для изучения Emacs стоит потратить 3-4 недели снижения производительности.

12
ответ дан 26 November 2019 в 16:58
поделиться

Я согласен с Аланом Стормом: «потому что шаблоны и метафоры, используемые в Emacs, могут не соответствовать вашему мозгу»

Это очень важный фактор. Разные мозги по-разному адаптируются к разным интерфейсам.

Некоторые из основных - и легко доступных - функций, за которые я действительно люблю Emacs, и которые я считаю инструментами повышения производительности:
1. Функция "yank-pop" - каждая вырезка / копия сохраняется в стек, так что вы можете позже выбрать, что вставить (не знаю, есть ли это у vi / Vim, но в большинстве IDE Java нет)
2. Сопоставление навигации с клавишей Ctrl - это позволяет вам перемещаться по файлу, не отрывая рук от использования клавиш со стрелками. (привязка клавиш в других редакторах, конечно, помогает)
3. доступны почти на всех платформах (верно и для vi / Vim, конечно) - будь то GUI- или текстовые (Java IDE также доступны на большинстве платформ, но только в режиме GUI, они значительно больше и их нужно устанавливать отдельно. тогда как Emacs обычно более широко доступен - системы BSD / * nix / Linux / Mac
4. Я предпочитаю, чтобы мой редактор не мешал мне, пока он мне не понадобится - спартанский дисплей Emacs заставляет меня думать, прежде чем я печатаю.
5. Основные навигационные клавиши в Emacs доступны повсеместно - на моей Mac OS я могу использовать эти клавиши в терминале, почте Mac и т. Д.

В конечном счете, если философия Emacs вам нравится, вы вставите дополнительные усилия, чтобы изучить это. И он вознаградит вас.

1
ответ дан 26 November 2019 в 16:58
поделиться

Я был очень доволен своим Vim, но как только я услышал о org-mode , я начал изучать Emacs. org-mode может быть одной из веских причин изучить Emacs.

7
ответ дан 26 November 2019 в 16:58
поделиться

Я действительно не вижу оснований для переключения. Я использовал vi в течение долгого времени, и довольно довольно им; о каждых шести месяцах я установил бы emacs, чтобы дать ему движение, тогда быстро просто переключился бы назад. Да были вещи, которые я очень предпочел о vi, но главная причина, которую я никогда не продолжал работать с ним, состоит в том, потому что инвестиции времени, чтобы полностью изучить другого редактора, когда я уже знаю чрезвычайно способный, не стоят того.
мне напоминают об этом скорее датированное исследование.

, По-моему, СЛИЗЬ о единственной причине переключиться на emacs, если Вы являетесь уже опытными с vi.

0
ответ дан user20805 26 November 2019 в 16:58
поделиться