Подтвердить что ты не робот

Есть ли причины, по которым разработчик С# должен изучать Emacs/Vim?

Я работаю разработчиком С# в чисто магазине Microsoft.

Недавно я начал учить себя сбору, используя газ и Linux в свободное от работы время. Мне нравится общаться с Linux, но я все еще новичок в этом.

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

В настоящее время я делаю свое редактирование в Linux с помощью SciTE (я думаю, что это стало notepad ++ в окнах).

Для кого-то, кто работает в среде с чисто ms-продуктом, есть ли какая-то реальная причина для изучения Emacs/VIM? Я вижу, что в vs studio есть настройка для использования ярлыков Emacs, кто-нибудь здесь стал более продуктивным, освоив их в vs или, другими словами, вы можете видеть, что это стоит?

Спасибо заранее!

Связанный: Является ли обучение VIM необходимым? Связанный: Стоит ли инвестировать время в обучение использованию Emacs?
Связанный: Почему я должен использовать среду IDE? (просмотр с другой стороны)

4b9b3361

Ответ 1

Я работаю в 90% магазине Microsoft, но я все равно использую gvim каждый день. У меня есть vi плагины для каждой IDE, с которой я работаю. Я бы порекомендовал vim, если вы собираетесь учиться одному или другому, но я знаю, что пользователи emacs категорически не согласятся.

emacs и vi были в течение долгого времени, и оба они очень мощные. Изучение одного из них может открыть вам глаза на более эффективный мир кодирования.

Ответ 2

Начните войну пламени:)

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

По умолчанию VS имеет плохую поддержку привязок VIM. Тем не менее, есть доступная дешевая надстройка (ViEmu), которая обеспечивает отличные VIM-привязки для Visual Studio. У меня есть личная лицензия, и я считаю, что она стоила каждого пенни.

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

Ответ 3

Я также работаю только в магазине Microsoft, но дома, я использую только Linux. Достаточно сказать, что я использую Vim исключительно для редактирования дома. На работе я использую Visual Studio для всех разработок, но я использую Vim для многих задач, требующих сложной обработки текста. Даже если бы я не использовал Вима дома, мне все равно было бы невероятно полезно для того, что я делаю на работе. Наш ИТ-парень считает, что я своего рода волшебник, когда видит, как я занимаюсь акробатикой Vim. Это стоило чего-то, верно?;)

Ответ 4

Я использую emacs и Visual Studio вместе и буду иметь трудное время без emacs. VS, конечно же, незаменим, но он не доставляет текстовое редактирование, которое делает emacs. Emacs - панель редактирования 98,4% для меня. Visual Studio имеет 12 различных панелей, каждая из которых важна, но иногда я просто хочу посмотреть на код. Emacs позволяет мне это делать. И я могу разделить экраны и увидеть 4 окна редактирования на одном экране, даже в том же файле. С двумя мониторами я могу иметь окна emacs на каждом из них. Это звучит странно, но это очень полезно для меня, когда я работаю над разными частями кода одновременно (допустим, определение интерфейса и реализация, в то же время). Регулярное выражение поиска и замены.

У меня есть режим автоматического возврата в emacs, который является аналогом функции VS, в которой говорится, что "файл изменен вне Visual Studio, вы хотите его перезагрузить?" За исключением emacs, он всегда молча перезагружается, что я и хочу. Поэтому я отказываюсь от VS до emacs и обратно, и никогда не возникает проблем с ожидающими изменения исходного кода, которые не отображаются в другом редакторе. У VS есть возможность "полного экрана", но я не нашел, что это было бы гибким или полезным как emacs.

Я не могу себе представить, что не имею возможности этой комбинации инструментов. Только Visual Studio не предлагает этого. Только Emacs недостаточно. Я все еще использую emacs для базовых фрагментов и небольших тестовых программ. Я использую VS для управления проектами, TFS, тестирования и отладки.

Мое использование emacs на данный момент не является выбором. Я поднял его давно, в предыдущей компании, где emacs был стандартным инструментом, поэтому это было... не сказать "легко", но оно было автоматическим. Я не могу представить, как учиться emacs "самостоятельно". Я изучил вещи осмотически, как раз из сообщества других пользователей emacs вокруг меня. От людей в коридоре я приобрел и настроил кучу кода elisp для моей установки. Делать это с книгой... Я не могу себе представить.

Как сделать вас менее продуктивным из-за путаницы с пальцем... У меня не было проблемы.

Ответ 5

Я использовал VIM почти исключительно, и, перейдя в почти 100% магазин MS, не обнаружил проблем с переходом туда и обратно.

VIM и EMACS великолепны, если вы хотите изучить быстрые клавиши. Я нахожу, что на самом деле у меня нет проблем, когда я возвращаюсь и вперед - я думаю, это помогает им в такой совершенно иной среде, кроме VS, что легко сделать ментальный переключатель.

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

Если Scite работает для вас, и вы просто "играете" как хобби, это может не стоить усилий. Тем не менее, усилия по изучению новых и разных способов работы/мышления - часть удовольствия.

Ответ 6

Я был хардкорным пользователем VIM, а также разработал intellisense для С# (http://insenvim.sourceforge.net/).. но с последними языковыми изменениями я не могу избежать используя Visual Studio. Но много раз оглядываться назад с помощью VIM - это простота. Visual Studio занимает много памяти, а время запуска очень велико. Даже читать файл или делать простые вещи требуется всего несколько минут. Но так легко открыть файл и перейти. Я мог бы переносить VIM intellisense на С# 3.0.

Ответ 7

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

Я начал изучать Ви, как девять лет назад, и теперь я не могу жить без него.

Независимо от того, какой редактор вы выберете, я думаю, что почти вы сможете найти плагины для выбора исходной модели вашего редактора, во всех основных IDE, для Visual Studio вы можете использовать ViEmu или Emacs Keybindings

Ответ 8

Я был профессиональным программистом на C/С++ в течение 16 лет. 5 лет назад я поднял некоторые общие Lisp, и в итоге я изучил elisp/emacs. Я тоже балуюсь в Хаскелле. Я нашел, что эти впечатления очень полезны при программировании С++. Если ничего другого вы не увидите в будущем, так как С++ медленно становится более выразительным, принимая то, что CL было на протяжении десятилетий.

Изучение emacs - это долгий медленный процесс, который начинает окупаться, когда вы полностью свободны в своих функциях, способе делать вещи и elisp. Я использую Visual Studio для многих своих разработок, но часто переключаюсь на emacs, чтобы воспользоваться быстрым использованием ключевых макросов или выполнять сложную обработку в таблице значений. Множество вещей, которые вы можете очень быстро выбить в elisp, что потребует нескольких часов разрывания волос с помощью плагинов Visual Studios.

Ответ 9

Изучение одного будет вполне достойным. Я лично рекомендовал бы emacs, но я предвзятый. Im 99% уверены, что emacs могут быть настроены на backend-сервер .net(не могли бы подумать о правильных словах извините).

Ответ 10

JaredPar упомянул ViEmu, о котором я слышал действительно хорошие вещи. Но если вам действительно интересно, какие преимущества переключения будут, есть хорошая статья, размещенная на сайте ViEmu: Почему, о, ПОЧЕМУ, эти #? @! орехи используют vi?

Лично я считаю, что использование gvim стало огромным стимулом для моей производительности, и я определенно предпочитаю его редактору Visual Studio или SlickEdit или любому из других, которые я использовал. Но, как упоминалось в более ранних ответах, Vim может быть крутой кривой обучения. Есть люди, которые использовали его профессионально в течение 5-10 лет и до сих пор учатся об этом. Vim может быть очень похож на perl... есть много способов сделать любую серию изменений, и это может занять некоторое время, чтобы узнать лучший.

Ответ 11

ИМХО, нет. Я использую acme над vim. gedit или vs2008 на работе.

Ответ 12

Я использую (и люблю) Emacs, но я могу понять людей vi там (я всегда разорван между минимализмом и кухонным погружением). Что заставляет меня использовать Emacs изо дня в день, и то, что заставляет меня в конечном итоге покидать каждую среду IDE, которую я когда-либо использовал, заключается в том, что я могу писать функции. И когда я говорю функции, я имею в виду функции; Я могу действительно программировать сам редактор. Я добавляю новую функцию, eval it и bam теперь в мой редактор. Если я использую эту функцию связкой, тогда она получает привязку клавиш.

Я заметил, что с IDE они отлично подходят для определенного языка (Eclipse поражает выполнение Java). Я не думаю, что Emacs так же хорош на любом одном языке (кроме, может быть, как Lisp IDE, но я не буду пытаться превозносить достоинства этого здесь...) в качестве выделенной среды разработки, но лучше на языке N, где "N" - это практически любой язык программирования, который был или будет изобретен. Приятно, если я изучаю новый язык программирования (или даже просто прыгаю между любыми C, PowerShell, Haskell, Lisp, Java... и т.д.), Что моя среда удобна и вполне работоспособна. Тогда мой ответ "да", потому что Emacs (или vi, я бы предположил) дает вам переносимость в вашем наборе инструментов. Возможно, вы делаете С# сегодня, но по линии, кто знает, может быть, вы будете взломать Monad # ++, и если да, то можете поспорить, что там будет режим Emacs.

Ответ 13

Люди, которые продолжают ссылаться на "короткие клавиши" vim, должны действительно изучить его чуть глубже. Многие команды клавиатуры vim работают над действительно структурированным "языком" текстовой навигации и манипуляций (т.е. Диапазонами, подсчетами, действиями, движениями, текстовыми объектами и т.д.), Что далеко за пределами "коротких сокращений", которые вы должны запомнить как в большинстве текстовых редакторов. Это одна из основных причин vim apeal и ее хвалебное повышение производительности.

Ответ 14

взгляните на JP Boodhoo и на то, что он делает www.jpboodhoo.com. Недавно он и Кайл Бэйли недавно начали вести блог об использовании VIM в рамках своего опыта разработки с VS2008.

Ответ 15

Вы должны узнать как минимум, как сохранить (:w) и редактировать файлы (магия) в VIM - даже минимальные установки ОС включают в себя. Таким образом, если вы застряли в пустой коробке unix, вы можете как минимум редактировать файлы.

В противном случае, naw - я не покупаю рекламу. У вас есть большая рыба, чтобы жарить, а nano становится все лучше. Heck, nano имеет некоторую синтаксическую раскраску и автоиндексацию, и даже работает с мышью над PuTTY.

Лучше всего узнать, как настроить Samba на вашем unix-боксе, а затем использовать реальный текстовый редактор в вашем окне Windows, например UltraEdit (cue flamewar). Я использую эту конфигурацию для редактирования чего-либо большего, чем файл конфигурации в/etc.

Ответ 16

Я также давно разработчик С#. При разработке С++ в Linux я использую Eclipse CDT, потому что это самая близкая вещь, которую я нашел в Visual Studio.

Будучи довольно опытным с vim, я использую его для редактирования файлов конфигурации Linux и т.д., но я не особо привлек его к разработке, когда я мог бы просто использовать IDE.

Кстати, если вы используете vim, вы можете включить номера строк и подсветку синтаксиса; Я всегда добавляю эти строки в файл ~/.vimrc:

number on
set syntax

Ответ 17

Если вы используете Vim с VS или думаете об этом, вы должны знать о проекте Vim Intellisense: http://insenvim.sourceforge.net/

Ответ 18

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

Ответ 19

Я использовал Vim и Emacs, но, вероятно, на 5% медленнее. Я однажды измерил количество времени, которое разработчики на самом деле набрали код и (я не говорю про прокрутку) и его, вероятно, около 5% вашего дня. Мы спорим о 5% от 5%...

То, что это сводится к тому, что пользователи Emacs и Vim использовали его так долго, они не могут меняться. Большинство из них могут управлять только VS с помощью мыши и не знают большинства горячих клавиш.