В 10 раз продуктивнее ? Скорее всего, не. Я склонен думать, что мультипликативные факторы больше похожи на 1,1, что накапливается через некоторое время.
То, о чем говорит Стив Йегге, на самом деле является размышлением о том, чтобы быть экспертом в Emacs, и это очень редко. Люди, которые достигают этого мультипликативного эффекта, активно настраивают свой опыт работы с Emacs, написав elisp, чтобы адаптировать Emacs к своим конкретным потребностям. Например, Yegge писал ejacs . Интерпретация цитаты Yegge подразумевает, что вы настраиваете Emacs, чтобы упростить настройку / расширение Emacs.
Вот как я бы разбил различные уровни экспертизы применительно к Emacs:
- Новичок знает , как запустить Emacs, перемещать курсор, внести некоторые изменения, выйти из Emacs.
- Начинающий продвинутый знает , как поставить некоторые базовые настройки в их
.emacs
или полностью скопированы куски чужих .emacs
в них. Они знают, как сделать глобальные привязки клавиш, require
встроенные пакеты, включить второстепенные режимы.
- Компетентные пользователи Emacs имеют большие
.emacs
файлы, возможно, разбитые на несколько файлов. Они загружают и используют нестандартные пакеты, знают, как находить документацию для команд, режимов, просматривать существующие привязки клавиш, знакомы с различиями между второстепенными и мажорными режимами. Компетентные пользователи обычно поддерживают работу одного экземпляра Emacs в течение нескольких дней / недель, написание, компиляцию, запуск и отладку программ из Emacs.
- Опытные пользователи могут свободно писать emacs lisp, создавать свои собственные интерактивные команды и легко писать второстепенные режимы. Опытные пользователи изучают код lisp в emacs, чтобы лучше понять используемые ими режимы, использовать отладчик elisp и обычно использовать низшие процессы (оболочки, процессы lisp, ...).
- Опытные пользователи Emacs пишут новые основные режимы с нуля, смотрят и модифицируют код C для Emacs, знают, что такое рекурсивное редактирование , и используют его, используют межпроцессное взаимодействие для интеграции Emacs с внешними инструментами. Они также читают список рассылки emacs-devel .
А так как вы просите личного опыта, вот примеры того, что я лично сделал, чтобы я чувствовал, что я более продуктивен. Примечание: мне довелось работать в компании, в которой мы далеко не на переднем крае сред разработки, например, мы все еще используем CVS.
- Я интегрировал Emacs с инструментом отслеживания ошибок: когда я делаю коммиты, он регистрирует имя файла и версию в полях для ошибки, а из Emacs я могу просматривать свои ошибки, назначать их, устранять их и т. Д.
- Я написал мост, соединяющий мой продукт (дневная работа) и Emacs, что фактически делает мой продукт неполноценным процессом, позволяя мне вносить изменения в исходный код на лету.
- Я расширил обработку тегов с помощью команды find-file-in-tags, которая предоставляет несколько ярлыков, подходящих для моей среды разработки.
- Я написал режим, который принимает результаты регрессии и позволяет мне переходить к сбоям, проверять файлы журналов, перезапускать один или несколько тестов или вводить отладочный запуск с минимальными нажатиями клавиш.
- Мой еженедельный отчет о состоянии (да, я использую Emacs для электронной почты) генерируется автоматически с использованием коммитов, которые я делал в течение недели.
Это изменения, которые я сделал, чтобы адаптировать Emacs к моей среде и рабочему процессу.
Я в 10 раз продуктивнее окружающих? Нет.
Тем не менее, для моей повседневной работы есть много задач, которые я могу выполнить с помощью нескольких нажатий клавиш, которые другие тратят гораздо дольше, выполняя свои действия в своей ненастроенной среде, и которые обычно требуют от них переключения между своим редактором и веб-браузером или оболочкой ,
Это поразительные примеры? Нет. Я уверен, что многое из того, что я сделал, уже доступно в Visual Studio . Моя статья вернет вас к Церкви Emacs? Возможно нет.
Однако, если вы видите шаблон поведения в вашей среде разработки, и у вас есть этот зуд, который говорит вам: «Мне действительно не нужно делать X / Y / Z снова и снова, если бы я мог только ...», тогда Я рекомендую попробовать использовать Emacs, чтобы избавиться от этого зуда. Эта царапина может стать первым шагом на пути к самоподкреплению, о котором говорит Стив Йегге.
Небольшое примечание: я не знаю, что многие (какие-либо?) Действительно опытные пользователи Emacs активно используют сайты переполнения стека, или, по крайней мере, они не отвечают на вопросы, связанные с Emacs. Я говорю, что это основано на лучших пользователях для тегов emacs и elisp при переполнении стека.