Моя дневная работа - Java / веб-разработчик. Я использую затмение в течение ~ 5 лет. Я думаю, что это отлично, и я также использую Webstorm для javascript и html / jsp.
Иногда мне нужно зайти на сервер по ssh и покопаться в конфигурационных файлах; для этого я использую ви и мне больно. Мне нужно открыть веб-страницу со списком синтаксиса / команд: нажмите escape, затем звездочку, разверните три раза, и текст будет введен двумя строчками над курсором . Это так не интуитивно для меня, и я представляю любого, кто вырос в конце восьмидесятых девяностых.
Вот основные причины, по которым я считаю, что eclipse великолепна (и я предполагаю, что есть другие IDE), и не переключаюсь на emacs и / или vim.
- Подсветка ошибок без необходимости перекомпиляции проекта.
- Код помогает.
- Рефакторинг.
- Вступительный звонок hiearchy / Вступительная декларация.
- Полностью интегрирован с источником контроля.
- Отладчик включен.
- Доступность сторонних плагинов - например, findbugs / checkstyle.
Один из аргументов, которые я слышу, заключается в том, что с помощью emacs / vim вы можете создавать свои собственные плагины - хорошо, но вы можете делать это и в eclipse. Но вам не нужно, так как все уже есть! Это все равно, что сказать, купи этот полу-собранный автомобиль, а остальное можешь построить сам.
Почему люди используют emacs / vim? Работают ли люди, которые его используют, над сложными объектно-ориентированными проектами в крупных организациях?
Каковы причины для перехода на vim / emacs. Как бы увеличилась моя производительность, если бы я переключился?
nano
, а неvim
просто, потому что я не использую CLI достаточно часто, чтобы выучить всеvim
команды. Если бы вы использовали его только изредка, я бы подумал, что что-то простоеnano
поможет вам лучше ...Ответы:
Используйте любой инструмент, который соответствует вашим потребностям. Знание VIM или Emacs - это хорошо, если вам когда-либо нужно войти на удаленный сервер и отредактировать файл конфигурации или что-то подобное. Я достаточно хорошо знаю VIM, но я бы не стал использовать его для разработки на Java. Для этого и созданы Eclipse, Netbeans и т. Д.
источник
Emacs и Vi все еще имеют место.
Они повсеместно доступны в Unix и Unix-подобных средах и могут быть установлены на большинстве других популярных платформ.
Они популярны и стабильны, поэтому их изучение в долгосрочной перспективе окупается.
Они запускаются через текстовый терминал, поэтому вы можете использовать их в сеансах telnet и ssh.
Они предоставляют режимы редактирования и подсветку синтаксиса для самых разных языков, включая очень новые и очень редкие языки. (Это одно из моих любимых преимуществ.)
Ключ к пониманию этих программ, тем не менее, состоит в том, чтобы знать, какие проблемы они изначально предназначались для решения. Для Vi это было редактирование текстовых файлов через терминальные соединения всего за 300 бод. В этой среде вы не хотите отображать меню или радикально менять содержимое экрана, если можете этого избежать.
Emacs был предназначен для использования в более быстрой среде. Его сила в том, что он мог быть загружен один раз и никогда не выходить. Пользователь может выполнить любую другую задачу, необходимую ему от Emacs, не выходя из системы, и зачастую более дружественным способом, чем если бы он должен был сделать это из командной строки. У людей не было графической среды рабочего стола с открытым окном Emacs. Emacs позволяет пользователю выполнять практически любые обычные задачи (и многие странные) всего несколькими нажатиями клавиш. Все, что не встроено, может быть написано в сценарии.
Очевидно, что потребности людей сильно изменились с тех пор, как были введены эти программы, но они все еще имеют некоторые сильные стороны. Я изучил основы обоих и использую их еженедельно. Тем не менее, я думаю, что их сильные стороны часто преувеличиваются. Они достигли такого легендарного статуса, что люди не признают своих слабостей и вместо этого склонны думать, что делают что-то не так, если Emacs / Vi не делает их более продуктивными, чем Eclipse или Visual Studio.
Теперь к делу.
Java - это популярный язык с отличной поддержкой в Eclipse, и, скорее всего, вы разрабатываете код для современной операционной системы, которая позволяет вам быстро выполнять общие задачи и создавать сценарии для других, не выполняя его через вашу IDE. Я не думаю, что для вас имеет смысл переключаться.
источник
Я использую Emacs уже более 5 лет. Я больше не могу сказать вам, какие комбинации клавиш я использую, мои пальцы просто запоминают их и должны смотреть на клавиатуру, чтобы увидеть, что пишут мои руки.
Несколько лет назад я начал использовать Eclipse, и нет никаких шансов, что я смогу вернуться к emacs свободно. Извините за мышечную память, даже если вы скучаете по старым
C-x r SPC 1
, «Затмение» делает меня намного более продуктивным, и это главное.Нет, я не думаю, что вы должны переключаться , но вы должны посвятить пару часов изучению основ vim, чтобы вам больше не приходилось искать это.
источник
Скорее всего, вы не должны переключаться . Vim - отличный мощный текстовый редактор, но он не заменяет IDE и не должен быть! Eclipse очень хорош в своем подмножестве специфичных для IDE вещей, а vim очень хорош в своем подмножестве специфичных для редактирования текста вещей. У каждого свой, свой, фокус.
Я знаю, что есть плагины, которые расширяют функциональность vim, так что он может выполнять многие из тех же специфических для IDE вещей, что и IDE. Но это по-прежнему не главная сила vim, и IDE почти всегда сможет сделать это лучше. Потому что это то, на чем они сосредоточены.
В своей повседневной работе я использую Visual Studio и vim для редактирования C #. Это работает очень хорошо для меня, и я бы никогда не отказался от одного из них, чтобы полагаться исключительно на другого.
Что касается emacs, я не эксперт, но я не думаю, что он может конкурировать с функциями Eclipse, когда дело касается Java (пожалуйста, исправьте меня, если я ошибаюсь). Если вы разрабатываете на lisp, то это, безусловно, можно считать отличной IDE, но я не думаю, что у него такая же поддержка Java.
Так что если вы хотите использовать более мощный текстовый редактор вместе с Eclipse, то я определенно рекомендую вам изучить vim или emacs. Но как дополнение, а не как замена . Это может действительно окупиться в долгосрочной перспективе, даже при том, что ни у одного из них нет особенно легкой кривой изучения :)
Вот хорошее длинное прочтение о сильных сторонах vim. И вот список некоторых хороших трюков, которые вы можете сделать.
источник
В основном, прочитайте это (PDF), чтобы понять, почему Emacs является мощным. Когда вы знаете Lisp, почти тривиально легко написать для него расширения (у меня есть несколько рабочих процессов и развертываний управления исходным кодом, написанных с помощью надстройки, которую я написал для себя, которая называется
employer-mode
). Насколько вы перечислите выше;REPLs
многие языки в него. Прямо сейчас, у меня естьruby
,python
,haskell
,common lisp
,scheme
иerlang
все закрученный в Emacs. Кстати, аддон JavaScriptjs2-mode
имеет полную инкрементную «компиляцию», поэтому он выделяет такие вещи, как ошибки синтаксиса, так что это, конечно, возможно, но не нормаautocomplete.el
, я полагаю, проверьте вики Emacsgit-mode
встроен в Emacs 22.3, не уверен насчет других источников контроляТем не менее, если вам не нравится Лисп, и вы не собираетесь его изучать, я не могу честно рекомендовать Emacs. Выигрыш, который вы получаете от этого, заключается в том, что вы узнаете о создании инструментов и применении этих принципов для повышения собственной продуктивности, а не о том, чтобы получить несколько готовых модов и связать их вместе.
источник
Я вижу два варианта здесь:
nano somefile.conf
и у вас есть хороший редактор. Вы даже можете добавить подсветку синтаксисаНадеюсь это поможет
источник
Лично мне нравится Vim, потому что он очень хорош в редактировании текста, то есть очень эргономичен (сочетания клавиш не сильно напрягают мои руки, и мне не нужно много пользоваться мышью) и эффективен в использовании, когда вы освоите это (что, конечно, потребует времени и терпения, так как это не самый интуитивно понятный редактор для начинающих).
Однако я бы предпочел Eclipse для крупномасштабной разработки Java из-за множества доступных функций. Конечно, есть некоторые плагины, которые могут сделать Eclipse более терпимым.
источник
Если вы довольны Eclipse, не переключайтесь.
Если вы можете использовать Eclipse везде, где вам нужно, не переключайтесь.
Если ваш проект / компания использует Eclipse исключительно, не переключайтесь.
Если вам редко нужно что-то еще, распечатайте шпаргалку для одного из редакторов и вытащите ее из ящика, когда вам это нужно, а затем вернитесь к использованию Eclipse.
Смотрите (тот же) вопрос в SO: https://stackoverflow.com/questions/1346820/what-are-the-efficiencies-afforded-by-emacs-or-vim-vs-eclipse
Что касается ответа: «Люди, которые его используют, действительно работают над сложными объектно-ориентированными проектами в крупных организациях?» - Держись за свою шляпу, сынок, но ответ "да". Я работал над проектами с десятками миллионов строк кода, которые использовались на критически важном этапе проектирования самого процессора, работающего на компьютере, который вы используете, чтобы задать этот вопрос. И люди попробовали Eclipse, но обнаружили, что он слишком медленный и неуклюжий (хотя, по общему признанию, мы не использовали Java).
источник
Как emacs, так и vim - это очень настраиваемые и мощные редакторы, и оба они обеспечивают высокую производительность, как только понимают основные концепции.
Vi побеждает с тем, что по существу является операциями на основе множеств. Например, изменение всех экземпляров «foo» на «bar» в определении класса является однострочным.
Emacs не менее мощен, но вы должны изучить Emacs Lisp, чтобы использовать его в полной мере.
В любом случае, стоит переключиться, только если вы планируете использовать emacs или vi для всего .
источник
Лучший инструмент (в краткосрочной перспективе) - тот, с которым вы хорошо разбираетесь.
Люди используют технологии старше 30 лет, потому что они очень опытны в этом. Они построили свой рабочий процесс и привычки вокруг этих инструментов. Если вы более знакомы с современной IDE, такой как Eclipse, нет особых причин для переключения. Обучение более эффективному использованию Eclipse - это лучшее вложение вашего времени (например, использование Mylyn ).
источник
В настоящее время я пытаюсь перейти с NetBeans на vim. Изучение vim требует времени и практики, но я вижу его преимущества перед, назовем их, «редакторами GUI» для определенных случаев.
Но, в отличие от вас, я пишу в основном Ruby, и мне не нужна вся эта черная магия генерации кода, автозаполнения, рефакторинга моего кода, которую предлагают NetBeans и Eclipse. Если бы я кодировал Java или C #, я бы наверняка не пытался переключаться вообще.
источник
Как давний пользователь emacs, я нахожу, что emacs довольно удобен в качестве среды редактирования и разработки (и в некоторой степени он также интегрируется с процессом сборки, контролем версий, быстрым контекстно-зависимым поиском и т. П., Так что я думаю, что это подходит это как "IDE").
Мне также очень удобно использовать редакторы vi и vi-like (я начал использовать ed, потому что думал, что emacs слишком сложен; в ретроспективе это наоборот, но это дало мне прочную основу для дальнейшего изучения vi). Я использую vi в основном для «небольших быстрых правок», в основном на удаленных машинах, где emacs не установлен.
Для сценария «Мне иногда нужно подключиться по ssh к серверу и поиграться с файлами конфигурации; для этого я использую vi», я бы порекомендовал небольшой набор команд и некоторые общие соображения по поводу vi:
Не нужно больше часа или двух времени, чтобы поиграть с vi, чтобы понять: «Я могу с уверенностью редактировать текстовый файл, но я, возможно, не справлюсь с ним», и это так хорошо, как вам, вероятно, понадобится , В противном случае, любой редактор, который не справляется с автоматическим преобразованием между табуляцией и пробелами, должен быть «достаточно хорош» для ваших целей. Если Eclipse установлен на всех ваших удаленных серверах, я не вижу в этом большой проблемы.
источник
Я очень большой парень из Emacs. Я использую это для всех своих программ, и активно поощряю моих коллег использовать это тоже (и они активно игнорируют меня). Я нахожу это гораздо более продуктивным, чем любая IDE, и я бы никогда не изменился.
Если я не пишу Java или C # (и я думаю, что есть другие языки в этой категории). У них есть такие большие библиотеки вещей с длинными именами, что выгоды, которые я получаю от использования Emacs, полностью теряются при попытке запомнить все.
Я настоятельно рекомендую вам попробовать vim и / или Emacs. Но, скорее всего, вы снова окажетесь в Eclipse для Java.
источник
У меня нет проблем с различными доступными редакторами UNIX, но я использую их только в знак протеста. Не, как я говорю, потому что у меня есть проблема с ними, а потому, что если я вынужден их использовать, это означает, что наш процесс развертывания каким-то образом отсутствует.
Это, вероятно, заслуживает немного большего контекста: я работаю над крупномасштабными решениями для электронной коммерции, все, что управляет работой наших систем, генерируется одним щелчком мыши в процессе сборки / развертывания. У нас есть множество тестовых сред, поэтому в любой момент я могу внести изменения через Eclipse, проверить их в cvs и запустить сборку / развертывание, чтобы доказать, что мое исправление сработало. Итак, если я взломал 'vi', то это потому, что мы не можем дождаться 1-часового цикла развертывания или потому, что развертывание не охватывает файлы, которые я редактирую, и его необходимо расширить, чтобы сделать так (иначе я буду взламывать vi в следующий раз, когда нужный файл будет изменен).
источник
Лично обе программы сводят меня с толку. Проблема с Eclipse заключается в том, что он работает медленно, как сопли, когда вы работаете над большим проектом, и именно тогда он не выполняет индексирование DGLP или что-то еще. Хотите обновить свой репозиторий? есть 15 минут? О, а как насчет этого хитрого трюка, когда вы Ctrl-C какой-то текст, а затем Ctrl-P его где-то, но вместо того, чтобы идти туда, куда вы хотели, он открывает совершенно другой файл и вставляет поверх чего-то еще, и вам остается интересно, WTF был там в первую очередь. О, и я упоминал о работе с Eclipse над большим проектом через VPN? практически невозможно.
Что касается vim, он хорош и быстр, предполагая, что вы знаете множество совершенно бессмысленных комбинаций клавиш, чтобы заставить его что-то делать, и удачи, если вы случайно оказались в каком-то неизвестном режиме. Также с vim вам нужно знать всю структуру каталогов ваших проектов в вашей голове, чтобы открывать правильные файлы. Основным преимуществом Vim является то, что теоретически вы можете создавать код быстрее, потому что все его ключи, но на самом деле мне все равно, сколько текста я пишу, а не объем текста, который влияет на качество кода и часто качество В коде нужно часами смотреть на десятки файлов, пока вы не поймете, что правильно печатать (что обычно очень мало).
Я хотел бы, чтобы кто-нибудь написал программу командной строки, такую как vim, которая на самом деле имеет структуру каталогов, например, eclipse сбоку или что-то, из чего вы могли бы развернуть / свернуть и открыть файлы. Кто-нибудь знает что-нибудь подобное?
источник
Если вам не нравятся VIM или EMACS, вы можете поискать на этом компьютере другие текстовые редакторы. Вы можете использовать некоторые разновидности nedit или gedit или что-то такое, что вы можете использовать, что будет иметь более знакомые команды (ctrl x, c, v и s делают то, что вы ожидаете, например).
Вероятно, у вас есть более двух вариантов в вашем дистрибутиве, стоит взглянуть.
источник