Как в atom сравнить файлы
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.
KDiff3
- бесплатен;
- поддерживает трехстороннее слияние;
- умеет сравнивать директории;
- с различными кодировками работает нормально;
- без дополнений не подсвечивает синтаксис.
DiffMerge
- бесплатен;
- поддерживает трехстороннее слияние;
- умеет сравнивать директории.
- бывают проблемы при работе с кириллицей. Думаю, со временем, исправят.
- DiffMerge по умолчанию, не поддерживает подсветку синтаксиса языков программирования.
WinMerge
- Open Source;
- никаких проблем с кодировками;
- подсветка синтаксиса без лишних телодвижений;
- сравнение директорий.
- инструмент слияния является двусторонним, что может создавать неудобства в некоторых случаях;
- Windows only.
- GPL v2;
- двустороннее и трехстороннее слияние файлов;
- сравнение директорий;
- подсветка синтаксиса (при установленном GtkSourceView).
- для установки под Windows требуется установить Python, GTK+, Glib, GtkSourceView, что не каждому понравиться.
Diffuse
- GPL;
- поддержка 2-way, 3-way и n-way (произвольное количество файлов) слияния;
- подсветка синтаксиса;
- отлично работает с UTF-8;
- неограниченная глубина отмен (Undo);
- удобная навигация по коду.
- разве что, невозможность сравнивать директории.
TKDiff
- GPLv2;
- можно добавлять закладки для различий;
- с кодировками работает нормально;
- интерфейс менее удобен и выглядит очень бедно (см. скриншот), чем у других продуктов.
- нет подсветки синтаксиса;
- не умеет сравнивать директории.
SmartSynchronize
- трехстороннее слияние;
- нет проблем с кодировками;
- помимо файлов, может сравнивать директории.
- для коммерческого использования требуется лицензия;
- подсветка синтаксиса для языков программирования по умолчанию не предусмотрена. Не исключено, что можно как-то сделать.
BeyondCompare
- трехстороннее слияние;
- может сравнивать файлы, директории, удаленные директории, архивы, а также MP3-файлы, изображения и др. Но последние пункты — это в принципе не нужный функционал.
- ShareWare;
- нет версии под Mac.
Araxis Merge
- трехстороннее слияние;
- нет проблем с кодировками;
- подсвечивает синтаксис;
- помимо файлов, может сравнивать директории и синхронизировать их;
- хорошо работает на сравнении больших файлов (гигабайты) и больших директорий;
- генерация отчётов по результатам сравнения. (если это можно назвать плюсом).
- ShareWare;
- нет версии под Linux.
Git и DiffMerge
1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл diffmerge следующего содержания:
2) Теперь добавим в файл c:/Users/swipe/.gitconfig
следующие строки:
3) Создадим конфликт и вызовем DiffMerge для его разрешения
Git и WinMerge
1) Добавим в директорию c:/Git/libexec/git-core/mergetools/
файл winmerge следующего содержания:
Когда Git не может автоматически объединить изменения, происходит конфликт слияния и в конфликтующий файл добавляются маркеры слияния (<<<<<<<, =======, и >>>>>>>). Они необходимы для разрешения конфликта с помощью сторонних инструментов.
Рассмотрим файл readme.txt который образуется в результате выполнения слияния веток master и new в приведенном выше примере:
Мы можем открыть файл конфликтов с помощью программы WinMerge для разрешения конфликта.
После этого откроется средство двухстороннего слияния:
Исходя из описанной логики перепишем команду слияния merge_cmd следующим образом:
По сути, оба приведенных варианта эквивалентны.
2) Отредактируем .gitconfig
последняя строчка отменяет сохранение backup-файлов в директории репозитория.
3) Создадим конфликт при слиянии двух веток (см. пример с использованием DiffMerge).
В настоящее время есть определенные пользователи, занимающиеся программированием или дизайном, которым для работы требуется текстовый редактор. В Windows, мы находим такой популярный инструмент, как Блокнот, но он не является полноценным приложением. Вот почему в Интернете мы можем найти различные приложения, разработанные третьими сторонами, которые улучшают производительность приложения Windows. Один из этих инструментов - атом , о котором мы поговорим дальше.
Atom - это бесплатный кроссплатформенный текстовый редактор с открытым исходным кодом, поэтому его можно использовать в Windows, macOS и Linux. Он был разработан для удовлетворения потребностей всех типов пользователей. Хотя его могут использовать как новички, так и студенты, это инструмент, особенно подходящий для более продвинутых, став приложением, способным найти идеальный баланс между удобством и расширяемостью.
Это приложение позволит нам работать с Git и GitHub напрямую. Это то, что мы сможем сделать благодаря его интуитивно понятному интерфейсу, с помощью которого можно сравнивать и редактировать код между файлами. В нем также есть браузер, который позволит нам находить и открывать все типы файлов и проектов из одного окна. Не будет отсутствовать и его интеллектуальное автозаполнение. С его помощью мы можем быстро и эффективно писать всевозможные коды.
Из его характеристик мы также можем выделить утилиты подсветки синтаксиса, контекстное автозаполнение и автоопределение языка. Кроме того, мы можем организовать наши проекты по папкам, использовать несколько панелей одновременно, включая поддержку сниппетов и совместимость с такими языками программирования, как C ++. PHP, HTML, JavaScript и другие.
Идеальный инструмент для программистов и разработчиков
После запуска приложения появляется его главное меню с современным интерфейсом, состоящим из черных тем и дизайном на основе вкладок, так что мы можем работать с несколькими файлами одновременно. Этот интерфейс полностью на английском языке, поэтому для менее продвинутых пользователей может возникнуть проблема, пока они не смогут полностью адаптироваться ко всем функциям, которые он нам предлагает. Мы также можем оценить ключевые функции, такие как контроль над Git и GitHub и поддержку Teletype.
Интерфейс с вкладками для удобства
В интерфейсе мы также видим, что он предлагает нам приветственное руководство. В нем мы можем найти серию разделов справки о наиболее важных функциях Atom, чтобы мы могли начать его использовать и как можно быстрее овладеть его функциями. Среди найденных нами вариантов - открыть новый проект, установить пакеты и выбрать темы, добавить фрагменты и использовать сочетания клавиш для большей скорости и эффективности при работе с ним.
Как мы видим, редактор имеет дизайн, структурированный отдельными панелями, так что мы можем получить доступ к разным инструментам одновременно. Каждый файл можно открыть в отдельной вкладке, что позволит нам управлять любым проектом и работать с ним простым способом, каким бы сложным он ни был. И если этот редактор чем-то отличается, так это его универсальностью, которая позволит нам поддерживать все типы файлов, а не только те, которые основаны на тексте, например, предварительный просмотр изображений.
Вверху приложения находится его панель инструментов, распределенная по вкладкам. Здесь мы находим вариант Пакетов, один из самых интересных вариантов. И именно этот текстовый редактор имеет возможность добавление дополнительных функций через надстройки или расширения, разработанные для добавления новых функций в редактор. Для этого у него есть собственный менеджер пакетов, из которого можно устанавливать, удалять, включать, отключать или обновлять различные расширения, которые он нам предлагает. Мы найдем плагины всех видов, такие как палитра команд, символы, Timecop, GitHub, Git Diff и т. Д.
Открывать очень большие текстовые файлы
Одна из замечательных возможностей Atom - открывать все виды простых текстовых файлов, даже самые большие, будь то в TXT или другом формате. Это то, что может быть очень полезно для нас, особенно если мы используем знаменитый Блокнот Windows, поскольку большие файлы обычно подавляются им.
Чтобы открыть любой текстовый файл, просто нажмите вкладку «Файл», а затем нажмите «Открыть файл» или с помощью сочетания клавиш «Ctrl + o». Это правда, что если файл большой, мы можем столкнуться с проблемами производительности, время реакции может быть больше, чем хотелось бы.
Начните свой первый проект с Atom
С помощью Atom мы можем открыть любой проект, который мы создали ранее, или начать новый. Это то, что мы можем сделать прямо на вкладке «Файл», а затем щелкнуть «Новый файл» или с помощью сочетания клавиш «Ctrl + n».
Хотя, хотя наиболее распространенным может быть использование Atom для написания программного кода, мы также можем использовать его для эффективного написания прозы. Для этого, вероятно, большую часть времени мы используем какой-либо тип помеченного языка, такой как Asciidoc или Markdown.
Широкий выбор поддерживаемых языков
Однако некоторые программисты могут пропустить другие языки, такие как «language-jade», «language-latex» или «language-postcss». И дело в том, что эти языки не включены в стандартную комплектацию, но мы можем установить их с помощью пакетов, созданных сообществом.
Найдите и установите среди более чем 80 доступных плагинов.
Одной из характеристик, которыми выделяется этот текстовый редактор, является то, что он более 80 упаковок которые включают в себя все функции, которые мы находим доступными в Atom по умолчанию. Эти пакеты могут быть чрезвычайно мощными, поскольку они позволят нам перейти от внешнего вида интерфейса к основным функциям. Все эти пакеты хранятся отдельно, и все они используют одни и те же API, к которым у них есть доступ.
Рядом с каждым пакетом мы видим кнопку «Установить», где мы должны щелкнуть, чтобы загрузить пакет и быстро установить его. Таким образом, мы заставим наш редактор включать функции, предоставляемые установленным пакетом. После установки он появится в окне конфигурации на вкладке «Пакеты» вместе с остальными предустановленными пакетами, включенными в приложение. Мы можем отфильтровать список и найти его или написать прямо в поисковой системе во вкладке «Установленные пакеты».
Измените эстетику и внешний вид Atom с помощью тем
Так же, как у нас есть надстройки, которые помогают получить большее количество опций, мы также можем искать и устанавливать новые темы для Atom. Это то, что мы также можем сделать из раздела «Просмотр настроек», который мы видели ранее. Здесь мы можем найти как темы, связанные с пользовательским интерфейсом, так и темы синтаксиса, и мы можем искать их на вкладке «Установить темы», а также искать новые пакеты, нажимая кнопку «Тема» рядом с полем поиска, чтобы не запутаться и искать плагины.
После установки мы можем получить доступ к разделу «Темы», чтобы проверить их доступность. По умолчанию в программе есть 4 темы для изменения пользовательского интерфейса как на светлые, так и на темные варианты, а также 8 различных тем синтаксиса. Эти темы заботятся об изменении стиля элементов пользовательского интерфейса, а также вкладок и древовидного представления, в то время как темы синтаксиса управляют выделением синтаксиса текста, загружаемого редактором.
Установите пакеты или темы из командной строки
Если мы предпочитаем, также можно установить пакеты или темы из командной строки с помощью apm. Итак, первое, что нужно сделать, это убедиться, что он установлен, выполнив следующую команду в нашем терминале.
apm help install
Также можно установить пакеты или темы с помощью команды «apm install».
Эта команда поможет нам установить последнюю версию
apm install <package_name>
Используя эту команду, мы можем установить определенную версию.
apm install <package_name>@<package_version>
Так, например, apm install [email protected] устанавливает версию 0.1.5 пакета Emmet. Кроме того, мы можем использовать apm для поиска новых пакетов для установки. Если мы выполняем поиск apm, это позволяет нам искать в реестре пакетов определенный поисковый запрос.
Выводы.
У Atom есть мощный редактор, который включает в себя набор функций, которые не слишком сложны для начинающего пользователя и не слишком коротки для программиста. И дело в том, что в его меню включены всевозможные передовые инструменты разработки, которые позволят нам глубоко настраивать с помощью HTML и JavaScript функции и функциональные возможности редактора.
Но не потому, что он хорошо работает, у него тоже есть свои слабые места. Возможно, мы могли упустить то, что у него была совместимость на испанском языке как для приложения, так и для справочных видео. Кроме того, когда дело доходит до перехода между разными вкладками или открытия больших файлов, это стоит вам дороже, чем вы хотите, и вы можете заметить некоторую потерю производительности или время реакции, которое больше, чем вы ожидали. Несмотря на все это, мы сталкиваемся с отличным инструментом, который может значительно облегчить нашу работу благодаря своему огромному потенциалу.
Атом - это бесплатный и мультиплатформенный текстовый редактор, который мы можем скачать прямо с его веб-сайт Честного ЗНАКа , В пределах Microsoft Операционная система совместима с Windows 7, Windows 8 и Windows 10, как в 32-битной, так и в 64-битной версиях. Его установка действительно проста, так как ваш помощник позаботится об этом быстро, всего за несколько секунд. Кроме того, он не имеет рекламы и не пытается заставить нас установить нежелательное стороннее программное обеспечение, свободное от каких-либо вирусов или вредоносных программ.
В настоящее время его последняя доступная версия 1.56.0 соответствующий 13 апреля 2021 . Это показывает огромную поддержку, которую оно получает как со стороны разработчиков, так и со стороны самого сообщества пользователей, что является одним из преимуществ приложения с открытым исходным кодом.
Альтернативы Atom
Если мы ищем текстовый редактор для Windows, мы предлагаем рассмотреть несколько альтернатив Atom:
Гекапад
Это совершенно бесплатный текстовый редактор для Windows. С его помощью мы можем совершенно свободно редактировать любой тип текста. Программа позволит модифицировать даже некоторые символы текста. Все изменения, которые мы вносим в приложение, могут быть сохранены в различных форматах, таких как TXT, INI, INF, LOG и NFO. Всего у него 19 различных расширений. Мы можем скачать это по этой ссылке.
AkelPad
Перед нами легкий и быстрый текстовый редактор с открытым исходным кодом. Это приложение поддерживает одно окно, многооконный режим, коды Unicode и онлайн-форматы. Этот мощный инструмент позволит нам разделить окно на 1, 2 или 4 части. Это позволит нам загружать до 4 документов одновременно. Если мы хотим попробовать AkelPad, мы можем скачать бесплатно с его сайта.
PSPad
Этот текстовый редактор был разработан и ориентирован на выполнение задач, связанных с программированием. Этот инструмент позволяет нам редактировать на таких языках, как C, C ++, COBOL, Batch, CSS, HTML, XHTML, Pascal, Perl, Python, RSS, среди других, а также может использоваться как шестнадцатеричный редактор. PSPad - это совершенно бесплатное приложение, которое мы можем скачать с официального сайта .
С таким количеством текстовых редакторов текста как сегодня, казалось бы, простая задача выбора одного редактора кода внезапно становится сложной.
Хотя прямой ответ на вопрос: «Какой лучший текстовый редактор для разработчика?» просто не существует, в этом посте я поделюсь с вами моим сравнением Atom’a с тремя наиболее популярными редакторами: Sublime, Visual Studio Code и Vim.
Прочитав список плюсов и минусов, я надеюсь, что у вас будет достаточно информации, чтобы сделать выбор, который наилучшим образом соответствует вашим потребностям.
Отказ от ответственности: как и при любом сравнении, некоторые из этих взглядов являются субъективными и в основном основаны на моих личных предпочтениях. Я — тот, кто пишет для Интернета (JS, CSS, HTML и т.д. ), Используя долгое время NotePad++, поэтому моя перспектива немного искажена в отношении того, к чему я привык. Тем не менее, я старался быть максимально объективным.
Стоимость: бесплатно (лицензия MIT)
Разработчик: GitHub
Платформы: OSX, Windows, Linux
Все дополнения которые нужно установить сразу после установки Atom:
Atom описывается как:
Текстовый редактор с хаками для 21-го века
Atom — относительный новичок в мире текстовых редакторов, но он получил огромный импульс, с тех пор как был впервые выпущен в 2014 году. Давайте начнем с рассмотрения его основных функций:
Пакеты
Возможность добавления дополнительных функций в редактирование очень важна, и это область, в которой Atom просто не повторим. Менеджер пакетов установлен по умолчанию и делает редактирование еще лучше, все пакеты размещены в Github.
На момент написания этой статьи было всего около 6 500 пакетов и доступных тем! Пакеты настолько фундаментальны для Atom, что основные функции, такие как Tree View и Settings View, — это просто предустановленные пакеты.
Редактирование и рабочий процесс
В общем, все в Atom довольно гладко. Самая большая болевая точка? Выяснение того, какие дополнительные пакеты необходимо установить при запуске с нуля.
Например, мне нравится миникарт, чтобы помочь мне визуально пропустить части файла. Мне также важно автозаполнение с помощью Autocomplete + .
Я часто работаю с несколькими файлами одновременно, поэтому необходимо настроить редактирование разделенной панели что весьма не плохо реализовано в Atom.
Еще одна приятная особенность Atom, которая скорее всего взаимствована из Sublime, — это поддержка файлов / папок, drag / drop в древовидном представлении — это настоящее удовольствие!
Наконец, интеграция git великолепна … это сделано GitHub в конце концов!
Настройка
Важное значение имеет возможность настройки редактора в соответствии с потоком и стилем разработки. Лично мне всегда нужно включить такие вещи, как «обрезку пробеов при сохранении», «сохранить потерянный фокус файла», которые легко настроить и переопределить в Atom.
В целом, мне нравятся, возможности настроек в Atom — возможность переопределять настройки для каждого типа файлов — это здорово! Например, разные отступы для JS или для CSS, HTML очень просты с Atom.
Заключение
Но все таки и в Atom’е есть свои недостатки, основной из них это время от времени, медлительность обработки файла. Иногда при открытии файла или переходе между вкладками происходят запаздывания, что чувствуется весьма болезненным (особенно когда вы находитесь в действии с полным размахом). Я пробовал Atom, когда он был впервые выпущен, производительность была проблемой. С тех пор он, безусловно, стал лучше, но проблема с “тормозамми” все еще существует.
Решение суда
Atom — отличный инструмент, особенно для тех, кто хочет легко настраивать свой редактор под себя и под все свои нужды. Веб-разработчикам, доступны свобода в настройке, добавление и расширение редактора, что дает невероятное чувство силы. Мне также нравятся его документы. Руководство Atom Flight Manual является отличной отправной точкой для новых пользователей.
Наибольший недостаток для меня все равно будет проблемой производительности, но для бесплатного редактора Atom мега крут и бесподобен!
Стоимость: $ 70 лицензионный сбор с бесплатной пробной версией
Разработчик: Джон Скиннер, бывший инженер Google
Платформы: OSX, Windows, Linux
Sublime был выпущен еще в 2007 году, так что уже почти десятилетие он радует своей работой программистов и другой “кодерский” люд. Согласно опросу разработчиков Stackoverflow 2016, это 3-я самая популярная среда разработки .
V3 Beta — это его последняя версия, и, хотя она уже давно находится в бета-версии, не позволяйте этому беспокоиться. Продукт на самом деле очень стабилен.
Пакеты
Любой пользователь Sublime скажет вам, что первый пакет, который они устанавливают, является плагином Sublime Package Control. Я думаю, мы все тайно надеемся, что Sublime 3 добавит это по умолчанию, но пока вам просто нужно перейти на страницу установки и скопировать какой-то непонятный Python и … Presto! Теперь вы можете легко установить любой пакет из Sublime.
Подобно Atom, у Sublime много пакетов и тем! Для меня важными являются:
-
: без этого переименование / перемещение / дублирование файлов не поддерживается. : добавить линт для разных языков — показывает статус git на левой стороне рядом с номерами строк.
Есть еще много на выбор. В целом, поддержка пакета Sublime очень хорошая, просто стыдно, что вам нужно перепрыгнуть через этот обруч в начале, чтобы даже начать с него.
Редактирование и рабочий процесс
Для меня использование проектов имеет решающее значение при работе в Sublime — это помогает мне сосредоточиться на соответствующих файлах для того, что мне нужно. Возможность поиска файла и файлов осуществляется быстро и просто. Мне часто приходилось выполнять поиск по сотням файлов, чтобы найти фрагмент кода, и скорость Sublime меня никогда не подводила.
Как и в случае с Atom, реальная власть приходит, когда у вас установлены некоторые ключевые плагины. Получение правильной подсветки синтаксиса, форматировщиков JSON, линтеров и т.д. Занимает некоторое время, но как только они будут установлены и настроены, их больше не нужно трогать.
Настройка
Опять же, Sublime очень похож на Atom. Доступна возможность управления такими аспектами, как «сохранить потерянный фокус», «обрезать пробелы» и т.д. Конфигурационные файлы — это простой JSON, и для вас есть целый набор скрытых настроек.
Заключение
Sublime превосходит Atom — в таких процессах как открытие, закрытие, поиск и т. д., еще он работает очень гладко и быстро. Единственная супер производительная программа, с которой я когда-либо сталкивался.
Решение суда
Как я уже упоминал в начале, я долгое время возвышенный пользователь, поэтому мое мнение здесь, вероятно, будет слегка предвзятым, но в целом, Sublime — это гибкий и быстрый редактор. По этой причине он по-прежнему занимает верхнюю 3-ю среду разработки в 2016 году.
Visual Studio Code
Стоимость: Бесплатно
Разработчик: Microsoft
Платформы: OSX, Windows, Linux
Visual Studio Code (VSCode) — является относительным новичком в мире текстовых и кодовых редакторов. Он был выпущен в апреле 2015 года, но он уже набирает обороты. Microsoft проделала огромную работу по созданию мощного и гибкого кроссплатформенного редактора, который вызывает большой интерес со стороны разработчиков.
Пакеты
Как и в случае с нашими другими редакторами, VSCode имеет приятную экосистему плагинов (расширений). Управление расширением встроено, и доступно уже несколько тысяч! Как и в случае с Atom, некоторые из них устанавливаются по умолчанию.
Вам нужно будет потратить некоторое время на сбор плагинов, которые лучше всего подходят для вашего рабочего процесса. Один из моих любимых (я тоже пользуюсь VSCode) — это отладчик для Chrome . Он позволяет устанавливать точки остановки что бы отлаживать JS из VSCode.
То же самое можно сделать и с Node.js -становкой контрольных точек в VSCode и пошаговым, пока процесс узла работает в терминале.
Редактирование и рабочий процесс
Хотя VSCode построен аналогично Atom, используя Electron, Node и HTML / CSS, он на самом деле намного быстрее Атома и работает без каких-либо реальных задержек.
Я провел неделю с с данным редактором, и в целом, я был довольно доволен. Он очень приближен к Sublime и Atom. Особенностью отладки, упомянутой выше, было удовольствие. Я также установил некоторые из нововведений IntelliSense, которые (хотя и болезненные для настройки на начальном этапе) начали демонстрировать свои преимущества через день или около того. Я уже мог видеть имя функции только начиная её вводить, не задумываясь о аргументах (или их типах).
В качестве дополнительного бонуса интеграция с Git очень удобна. Для обычных операций, таких как commits и diffs, программа оказалась идеальной и ускорила мое время разработки.
Настройка
Как и предыдущие два редактора, ожидаемые функции настройки — все необходимые обертывания, отступы, тематические, языковые настройки и т.д.
Заключение
Как упоминалось ранее, хотя VSCode (как и Atom) построен на Node.js, Electron, HTML и CSS, программа определенно работает быстро (в отличие от Atom). При открытии / изменении файлов я не испытывал никаких задержек. Поиск был также быстрым. Я считаю, что одна из отличий между Atom и VSCode заключается в том, что редактор пользовательского интерфейса построен на Monaco (из Visual Studio Online), что может быть объяснением разницы в производительности. В любом случае, производительность, безусловно, соответствует уровню Sublime.
Решение суда
В целом меня очень впечатлил VSCode, до такой степени, что я подумал о том, чтобы переходить к нему на более постоянной основе. Интеграция Git и отладчик в редакторе — отличные возможности, с которыми я боролся в Sublime, но как ни странно почти сразу же работали в VSCode.
VIM
Стоимость: Бесплатная лицензия GPL
Разработчик: Bram Moolenaar
Платформы: OSX, Windows, Linux
Я чувствую, что все разработчики должны в какой-то момент пройти «обряды прохода» и использовать Vi или Vim для проекта. Возможность редактирования или просмотра файла на удаленном сервере через терминал является чрезвычайно продуктивной и важной задачей. Я видел, как многие разработчики перескакивают через все виды огненных обручей, используя SFTP, или скаичивая а затем редактируя, и повторно загружая файлы обратно на сервер.
Однако я также признаю, что явное упоминание о Виме приносит дрожь к некоторым и даже праведное негодование другим. Если бы я опустил его, я бы боялся серьезного удара от опытных пользователей Vim. Честно говоря, ?для тех, кто потратил время на его освоение, это невероятно продуктивная среда!
Пакеты
Под капотом более чем 14 000 пакетов у Vim есть одно для всего! Исследователи деревьев, подсветки синтаксиса, тематика, интеграция Git и т.д. Все это существует в нескольких версиях. Vim невероятно гибкий и мощный. Однако, как и во всех других редакторах, упомянутых выше, знание лучших плагинов для установки требует некоторых знаний и рекомендаций для инсайдеров.
Редактирование и рабочий процесс
Во-первых, для тех, кто не знаком с Vim, это текстовый редактор командной строки. Поэтому это не приложение, которое вы дважды щелкаете и используете мышь для перемещения. Управление открытием, закрытием, редактированием и сохранением — это все сочетания клавиш.
Если вы действительно хотите стать пользователем Vim, это требует реальных моральных вложений, но я уверен, что к концу первой недели вы почувствуете себя как абсолютный гений!
Честно говоря, причина, по которой я нахожу работу в Vim менее эффективной, заключается в том, что я недостаточно знаю сочетания клавиш. Я могу легко редактировать отдельные файлы, искать, заменять и т.д., Но при работе с несколькими файлами я начинаю теряться. Так что для меня, Vim слишком керут.
Настройка
Вим удивительно настраиваемый. Если вы поищите в Google, “vimrc” вы найдете множество примеров предварительно сконфигурированных файлов конфигурации Vim. Короче говоря, в Vim все возможно.
Заключение
Единственный блокиратор производительности в Vim — это пользователь … другими словами, вы! Вся его скорость зависит в первую очередь от того как быстро вы можете вводить свои команды и перемещаться между ними! Если вы являетесь пользователем Power Vim, это на самом деле невероятно быстро!
Решение суда
Программа Vim может быть невероятно быстрой, еще это эффективная среда разработки, если вы имеете терпение, чтобы изучить нужные или все команды.
Окончательный вердикт
Все вышеперечисленные редакторы имеют свои плюсы и минусы. Лично я бы сказал, что в Вашей карьере разработчика Вы должны дать каждому из редакторов свой шанс хотя бы на неделю, чтобы убедиться в том, что работает и что не работает для вас. Надеюсь, что подведение итогов этих четырех самых популярных текстовых редакторов станет хорошей отправной точкой при рассмотрении вопроса об изменении редактора.
Некоторое время назад я пробовал SublimeText, этот редактор мне показался интересным, но все-таки через две недели его использования я опять вернулся к Vim, даже не помню по какой причине. Правда, после этого в Vim я себе установил тему для раскраски исходников как в SublimeText, а теперь аналогичную тему поставил и для Atom.
В этом посте я расскажу про свой опыт использования редактора Atom и буду сравнивать его с Vim. Может быть правильнее надо было бы его сравнивать с SublimeText, на который он очень похож, и к которому он ближе по сути, но SublimeText я использовал слишком давно.
Сам редактор сделан на движке Chromium, из-за чего редактор нельзя назвать легковесным и очень быстрым. Правда, особых тормозов при работе с ним я не замечал, хотя запускается он заметно медленнее Vim, но все-равно намного быстрее, чем, например, Eclipse. Размер дистрибутива под Ubuntu Linux составляет 68 МБ (сравнительно недавно вышел Atom 1.3.2, и именно про эту версию я буду говорить в этом посте).
Для примера перечислю некоторые пакеты, которые входят в дистрибутив:
Например, для Python, где важны отступы, я себе включил отображение табуляции:
Хотя перфекционистам внешний вид такого отображения может не понравиться:
А еще Atom ненавязчиво следит за выходом новых версий пакетов. Обновляются пакеты тоже нажатием одной кнопки.
Кроме графического интерфейса Atom устанавливает программу apm (Atom Package Manager), которая позволяет из командной строки устанавливать, обновлять, удалять пакеты, а также публиковать свои пакеты и еще много всего с этим связанное. Например, чтобы установить пакет, нужно всего лишь выполнить команду:
Для хранения настроек Atom использует форматы JSON и CSON (CoffeeScript-Object-Notation), формат, напоминающий JSON, но использующий отступы вместо фигурных скобок. Вот, например, как выглядит файл со сниппетами в этой нотации:
Поскольку функциональность Atom наращивается пакетами, коих огромное количество, то бессмысленно в этом обзоре подробно говорить о том, что еще умеет Atom. Перечислю лишь некоторые возможности, которые я настроил себе (не важно, это базовые возможности или добавленные с помощью пакетов).
При этом для каждого проекта могут сохраняться открытые вкладки с файлами (почему-то эта полезная возможность по умолчанию отключена в настройках).
Автодополнение. Без этого уже не обойтись любому серьезному программерскому редактору. Автодополнение в Atom мне понравилось больше, чем то, чего мне удалось добиться в Vim.
Показ новых / удаленных / исправленных строк.
Для Python (и наверняка для других языков программирования) есть множество пакетов для статического анализа кода (включая проверку выполнения рекомендаций PEP8 и PEP257). Среди всех подобных пакетов я остановился на пакете для проверки кода с помощью pylama.
Есть пакет symbols-tree-view для показа структуры исходников (списка классов и их методов) и быстрого перехода к нужному классу или методу.
Также для конкретного пакета можно посмотреть, сколько времени он загружается.
В итоге под себя на 80% я Atom настроил за один день, остальные 20% донастраивал по мере того, как появлялась надобность в какой-то возможности. Для сравнения, с emacs я игрался неделю, и за это время настроил только 20% того, чего хотелось бы видеть в редакторе.
Atom странно себя ведет в случае, если открытый в нем файл был изменен другой программой. При этом Atom молча загружает себе уже измененный файл, но перед выходом из программы предлагает его сохранить, даже если файл больше не изменялся. Такое поведение наблюдал несколько раз, но на 100% оно не повторяется.
Если коротко подводить итоги по тем возможностям, что я использую, то Atom однозначно выигрывает у Vim по автодополнению, но для Atom я не нашел инструментов для рефакторинга кода на Python (для Vim есть плагин ropevim, который использует для рефакторинга библиотеку rope). Автоматическое выравнивание кода в Vim мне показалось более аккуратным, хотя для Atom есть пакеты для форматирования кода, чтобы он соответствовал рекомендациям PEP8.
У Vim остается преимущество по богатым возможностям редактирования и выделения, особенно в Atom не хватает возможности задавать количество повторений для операций, например, удалить 10 строчек или перевести 5 символов из нижнего регистра в верхний и т.п. Не хватает возможностей инкремента следующего за курсором числа, то что в vim делается с помощью горячей клавиши Ctrl+A. Для Atom есть плагины vim-mode и ex-mode, но я не люблю один инструмент превращать в другой, хотя из любопытства эти плагины в будущем собираюсь попробовать.
Читайте также: