Как стать автором
Обновить

Комментарии 245

НЛО прилетело и опубликовало эту надпись здесь

Или emacs

Или просто застрелиться

Для этого уже есть плагин emacs
НЛО прилетело и опубликовало эту надпись здесь

Бесплатная версия Idea вроде поддерживает Rust. Может быть, не очень хорошо, но поддержка точно есть. В idea может не быть плюшек типа отладки, в отличие от clion, но в целом подсветка синтаксиса и запуск .cargo проекта работают.

Я пытался уйти с идеи на вскод, вернулся обратно. У идеи лучше всего реализовано автоподключение зависимостей, квик фиксы, интеграция с внешними линтерами, это вот всё. Через плагин для раста, конечно.
Для раста есть хороший плагин intellij-rust.github.io
Ну и зачем мне с VS Code уходить?
И в чем альтернативы превосходят оный?
Тоже не понял этого момента. В статье ноль конкретики, только «бла-бла телеметрия, бла-бла опенсорс».

Это видимо как с вегетарианством и веганством.

Давайте я объясню ситуацию с Microsoft предельно просто. Вот у вас есть ребёнок и вы решили нанять ему репетитора по музыке. На собеседование приходит хороший музыкант, про которого известно, что он 20 лет отсидел в тюрьме за изнасилование и убийство ребёнка. У музыканта очень добрые и честные глаза, он клянётся что с прошлым покончено навсегда и после тюрьмы он совсем другой человек. Вопрос: станете ли вы доверять ему своего ребёнка? Для меня мой компьютер — как дитя и я не хочу предоставлять его в распоряжение Майкрософта, учитывая весь прошлый опыт с IE6, HTML, Java, форматом DOC и т.д.

Пожалейте сову, ей больно на этом глобусе.

НЛО прилетело и опубликовало эту надпись здесь
Конечно больно. Потому и не стоит сидеть на майкрософтовском глобусе. Это всегда приносило боль.
Аналогия была бы ближе если бы этому музыканту прошивку сменили в психушке и после этого агрессивного поведения замечено не было, но социально одобряемые действия он бы совершал.
Все таки смена руководства и адаптация под современные реалии это не хухры мухры.
Еще через поколение будем читать комменты типа «так и в чем проблемы? никакой конкретики, только бла-бла камера в сортире, бла-бла тулетная бумага по паспорту»
У вас тоже нет никакой конкретики касательно перехода от «телеметрия и не опенсорс» к «камера в сортире и туалетная бумага по паспорту».
А я заметил, что это такая подсознательная злоба красногл… ээээ… поклонников open source. И не только в отношении VS Code. Типа, микрософт на их поляну залез (и уходить не собирается). Вроде и конкретных причин злиться нет, а всё равно неприятно. По сути получается, что их глобальный враг с многодесятилетней историей ненависти исчез и заменить его нечем даже.
НЛО прилетело и опубликовало эту надпись здесь
Свежий аргумент, ага. Менеджмент, который эту стратегию вёл, давно на пенсии.
Ну давайте, расскажите про связь. Микрософт переманит всех на VS Code а потом его закроет? Серьёзно? :)))
НЛО прилетело и опубликовало эту надпись здесь
Внимание вопрос
(озираясь по сторонам) Кому??
кто принимает пулл реквесты в опенсорсные проекты Майкрософт?
А вы какой ответ ожидаете на этот вопрос? Гитхабом умеете пользоваться? Вся история там. Или вам ФИО и паспортные данные нужны?
Будут ли приняты пулл реквесты противоречащие политике и стратегии компании? Будут ли пользователи ресурса Github, принадлежащего Майкрософт, ограничены в возражениях по поводу отклонения пулл реквестов?
Контакты найдёте самостоятельно? Вот уж чего, а мест для дискуссий там достаточно. Там и объясните, что имеете в виду под «политикой и стратегией»
Extinguish сменилось на Gatekeeping
За 13 часов с момента ответа сменилось? :)

А где-то есть форумы или паблики, где вот такими теориями обмазываются, длинные списски ссылок на душещипательные статьи, (которые никто не читает) составляют?
Допустим, злой Майкрософт по максимуму проявит свою подлость. Что мешает доблестным хакерам сделать кошерное ответвление и продолжить его разработку как отдельного продукта? Если не устраивает GitHub, можно использовать какой-нибудь аналог, например GitLab.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Я перечитал статью «Embrace, Extend, and Extinguish» в Википедии (и вам рекомендую). Мне непонятно, каким образом данная стратегия может быть применена для VSCode. В статье говорится о стандартах (которые MS расширяет, чтоб уничтожить). И непонятно с фазой Embrace: VSCode изначально разработка MS.
По поводу вашего комментария. Логически возможно два варианта:
1. VSCode нас устраивает, мы им пользуемся. Нет проблем.
2. VSCode нас не устраивает. Например, не принимаются пулл реквесты, противоречащие политике компании (как вы пишете). В этом случае независимые разработчики создают и развивают своё ответвление. Пользователь может выбирать, чем ему пользоваться. Зачем вам «критическая масса пользователей»? Чем хотите, тем и пользуйтесь.
Про «полировку продукта». Исходный код VSCode частично открыт, значит у разработчиков ответвления всегда есть доступ к «отполированной» версии от MS.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

VS Code не изолированный продукт. К примеру, он использует для синтактического анализа LSP (language server protocol), созданный Microsoft как раз для VS Code. Затем LSP стал открытым стандартом, продолжая оставаться под контролем MS, и вот тут уже MS во всей красе показала свою типичную тактику по отношению к открытым стандартам. LSP допускает широкую трактовку во многих местах, так что де-факто стандартом становится референсное поведение vscode, также "неудобные" жалобы на критические недостатки протокола порой просто-напросто игнорируются. В итоге у MS под контролем один из лидеров рынка программируемых редакторов, задающий стандарты, а бессмысленность форкания LSP или VS Code думаю объяснять не стоит.

В принципе, одного только факта зависимости от Electron достаточно для того, чтобы отбить всякое желание с ним связываться. Ну любим мы native look & feel, и не любим хипстерские «аппы».
Только большая часть редакторов из статьи тоже на электроне))
НЛО прилетело и опубликовало эту надпись здесь
Лично меня в VSCode очень расстраивают шрифты, они выглядят ужасно — это и стало причиной ухода.

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

Так их же можно поменять

Там дело не в самих шрифтах, а в том как рендерит их Electron. Посмотрите, как выглядит один и тот же шрифт в браузере или VSCode и сравните его с Visual Studio, Sublime Text или даже с блокнотом Windows.

Я даже было дело создавал issue, но видимо эта проблема волновала слишком малое кол-во людей, и поэтому проще забить.

Хм, интересно. Не знаю, как сейчас на винде, у меня на Linux рендеринг отличный:


VS Code vs. Neovim/Tilix

НЛО прилетело и опубликовало эту надпись здесь

А можете развернуть логическую цепочку между профайлингом и ограничением возможности индивидуума?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Ну, запуская браузер, все (ну или почти все) знают, что их там можно отследить и запрофилировать. Для кого-то это важно, для кого-то не очень. Кто-то понял насколько это важно, только после поездки в Израиль.


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

А что они там у неё увидели? Кухонные рассуждения про «жидов», «свободну угнетённом палестинскому народу» и т.д.?
НЛО прилетело и опубликовало эту надпись здесь
А при чём здесь тогда инстаграм, вообще социальные сети и конкретно Израиль? Такими правилами руководствуются во многих странах ЕС, в Америке. И социальные сети для этого не нужны. Она уже указала это всё в документах на визу и/или в анкете на въезде.
НЛО прилетело и опубликовало эту надпись здесь
Как они решили, я не знаю, но где-то дополнительную инфу они нарыли
Так а откуда тогда утверждение про инстаграм, если на самом деле не знаете?
Моё дело — предупредить.
Меня? Спасибо :)
НЛО прилетело и опубликовало эту надпись здесь
Ну, отнять телефон они не могут. Могут настойчиво попросить с единственной альтернативой вернуться туда, откуда прибыли.
Не знаю, что такое BDS, но смешно звучит. То есть, человек весь такой из себя активист, постоянно топит за что-то (или против) в постах и комментариях. А на границе, значит, такой весь белый и пушистый. И уверен, что никто о нём ничего не знает. В 2020 году.
НЛО прилетело и опубликовало эту надпись здесь
Меня не завернули ни в одной из десятков стран. Впрочем, когда набирается определённая статистика в загранпаспорте, тщательность проверки уже резко уменьшается.
НЛО прилетело и опубликовало эту надпись здесь
Есть больная тема — получение американской визы, обычной туристической. По опыту народа есть всего один более-менее объективный пункт — история поездок. Остальное — зависит от настроения консула.
У знакомого было два отказа в визе когда он хотел поехать на конференцию. (Видимо решили, что хочет сбежать от семьи и детей). На третий раз дали.
По моим личным наблюдениям — еще важен возраст, молодежи в районе 18-20 дают визы хорошо даже в чистый паспорт.
НЛО прилетело и опубликовало эту надпись здесь
Нет, моя мысль была не в этом. Куча штампов и виз из сомнительных стран тоже могут привлечь внимание :)
НЛО прилетело и опубликовало эту надпись здесь

Это много где учитывается. Как кредитная история.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

А вы уверены, что его вам дадут отключить? Вон, в Skype раньше тоже можно было отключать, я и отключил, а потом, ВНЕЗАПНО, прилетела новая версия а там — барабанная дробь — уже нет такой галки от слова совсем. Где гарантии, что и с VS Code так же не будет?

НЛО прилетело и опубликовало эту надпись здесь
В портабл-версии например для установки обновления нужно скачивать эту новую версию целиком, старая ни как не обновится. И да в настройках автообновления и тд отключаются.
Чот ерунда какая-то. Коммерческой компании для успеха надо делать удобный продукт. Опенсурс часто кошмар которым невозможно нормально пользоваться. сравните фотошоп и гимп. Из хороших примеров: блендер. У меня была версия установленная год назад, эмоции были «ааа, для кого это все, какой инопланетянин это вообще придумал?». Свежая версия в 2020 году оказалась весьма удобной, когда открыл было ощущение что с редактором я уже давно знаком. Но такие примеры редки.
Думаю с фотошопом будет конкретней сравнить Krita. Gimp по ощущениям больше как Paint + Imagemagick.
Судя по описанию Крита для рисования. Так что увы, разные направления с фотошопом.
Насчёт Atom могу сказать по своему опыту — это один из немногих редакторов, который выполняет ваши команды медленнее, чем вы соображаете, на любом современном компьютере. И тем самым даёт вам возможность ощутить превосходство разума над машиной ;)
Это вы еще Brackets не пробовали значит — превосходство тотальное.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Да нет, он всегда такой медленный был. Именно из-за этого VSCode так рвал шаблон — технологии похожи, а быстрый.

НЛО прилетело и опубликовало эту надпись здесь
вот совсем не понял, за что минус-то?
За «емакс» вместо emacs, например. Или за то, что из одного единственного слова не совсем очевидно, что хотели сказать

Скриншот от Che выглядит подозрительно похоже на обычный VS Code. Это тема такая или скриншоты перепутаны? Гугл выдаёт немного другой внешний вид, больше похожий на классический Eclipse:


Che

image


Тот что в статье, возможно, от веб-версии VS Code


Upd. Точно, скриншот взят от Theia, которая в статье вообще не указана
https://theia-ide.org/

Вы правы, возможно, автор оригинальной статьи их перепутал. Поправил в нашем переводе.

Не обратил внимание, что это перевод.
Для полноты картины: в комментариях к оригиналу автор поясняет, почему он рассказал именно про Che:


Theia is a platform for building an IDE.
Che, which is included in this article, is an IDE.
Both are Eclipse projects, but I felt Che was better suited as an alternative, because it's an IDE ready for use.

Theia — платформа для создания IDE
Che, включённый в статью, — сама IDE
Оба являются проектами Eclipse, и мне показалось, что Che больше подходит на роль альтернативы, потому что это уже готовая к использованию IDE

А просто отключить телеметрию в настрйках почему не вариант, раз вокруг неё вся статья держится?

Слишком просто. О чем тогда статью писать?

Потому что телеметрия в следующем апдейте может и включится. Не было такое, что ли? И еще, чтобы выключить телеметрию, придется запустить продукт и он сразу позвонит домой. То есть, телеметрия хоть раз, да сработает. Понятно, что и это можно обойти. Но все эти танцы характерные для концепции opt-out бесят очень сильно. Вот, пусть начнут работать через opt-in, тогда и задумаюсь насчет включать-не включать телеметрию.


Кстати, у меня тоже проект IDE с свободным кодом. И иногда очень хочется узнать кто, где и как использует мой продукт. Но нельзя-я-я. Вот и не делаю.

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

«Вы ничего не понимаете это совсем другое» (с)
А гугл и эппл — корпорации добра, не то, что M$. Излучают только опенсорс и радугу.

Раз меня цитируете, то мой любимый телефончик — Nokia C2; Галочки проверил. Вроде правильно все.


И вообще, я не одобряю opt-out, считая его обманом. Всегда пытаюсь не использовать услуги и продукты которые пользуются такими трюками. Иногда не могу. Потому что я тоже человек и мне тоже могут обмануть. А opt-out очень часто операция тайная. Формально, где-то там в глубине настройках, на вкладке "форматирование диска" может и есть галочка "отказаться". Но несмотря на это, я считаю такие методы обманными.

Использую msvs и sublime. Под линуксом вместо msvs — qt creator.

НЛО прилетело и опубликовало эту надпись здесь

Лучше потратить время и написать на cmake, потом мороки меньше будет

А какие из них хорошо умеют «визуальную» отладку через LLDB/GDB (т.е. шагами по коду) с древовидным GUI-просмотром Locals и Watch и умное автодополнение (с поддержкой C++ templates и т.п.)? Sublime умеет но работет это всё несколько нестабильно.

Честно говоря, отладка в VS Code, особенно Qt-приложений, не всегда удобна, по крайней мере так было года полтора назад. То, что тот же Qt Creator отображает в Locals/Watch в удобном виде (типа различных коллекций), в VS Code предстаёт в чистом и незамутнённом, со всеми голыми указателями на служебные объекты и прочие QObject. И это всё не считая того, что Step Into/Over дико тормозили.


В качестве основного редактора использовал VS Code, но для отладки использовал исключительно Qt Creator, экономил кучу нервов. Возможно, за полтора года что-то изменилось и на данный момент отлаживаться стало удобнее.

Посредством плагинов все, очевидно.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

До обращения по имени оно конечно не скатится, но что плохого в таргетированной рекламе?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И государствами?
НЛО прилетело и опубликовало эту надпись здесь
Любое взаимодействие это передача информации. Это основа нашего мира. Мы благодаря этому существуем.
НЛО прилетело и опубликовало эту надпись здесь

не приватной, но достаточной для идентификации… слепок настроек любого браузера, насколько мне известно, уникален, как отпечаток пальца…
да и если вы используете что-то от Google, chrome или андроид, то это уже пока приватность, сбор данных идёт во всех их продуктах… и по отдельности эти данные не особо приватные, но собрав их в кучу и зная, что они принадлежат одному человеку, об этом человеке можно узнать больше, чем он сам знает.


плюс, уже сейчас некоторые банки прям в банк-клиенте для покупок в продовольственных магазинах научились отображать содержимое чека, а значит эта информация тоже передаётся… и по ней тоже можно многое вычислить, соединив с историями поездок на такси, с оплатами проезда в транспорте, списком wifi сетей, замеченных вашим смартфоном и так далее… бояться надо не утекающей информации, ибо она утекала всегда… а развития технологий, позволяющих эту информацию обрабатывать и превращать в близкие к фактам сведения. если лет 20 назад это стоило больших усилий хороших детективов, и случалось только при крайней необходимости, то сейчас это происходит чуть ли не автоматически, просто потому что есть такие возможности..

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
это какой-то фарс, ей-богу

Это не фарс. Это способ проявить сопричастность at no cost. Аналогично выставлению лайков «для поддержки жертв землетрясения». Вроде бы что-то «полезное» сделал, но вместе с тем не испытал для себя особых неудобств. От конкретной IDE отказаться — невелика потеря, особенно если вы и так уже привыкли к чему-то другому. Ну и что, что VS Code может быть в чем-то удобнее, разница по сути пустяковая.

А вот поддерживать цифровую гигиену, способную перевесить цифровую защиту «неуловимого Джо» (которой мы все забесплатно и по умолчанию пользуемся) — без тотального отказа от благ и возможностей современного мира весьма сложно и неудобно, поэтому разумеется этого никто не будет делать. И даже размышлять всерьез об этом не будет, потому что ну зачем рушить удобную картину мира самому себе?
А может Неуловимый Джо потому и неуловим, что его никто не ловит — потому-что он и даром никому не нужен?
Эм. Вы понимаете, что мем «неуловимый Джо» именно это и означает?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Нет, но пользование любыми бесплатными сервисами всегда предполагает, что кто-то их работу оплачивает. А поскольку филантропов-бессребреников в мире маловато, обычно эти сервисы что-то от вас всё-таки хотят. И схема «мы вам даём бесплатную почту/социальную сеть/просмотр футбольного матча/поиск в сети, а вы нам дадите свои персональные данные, чтобы мы вам показывали таргетированную рекламу», довольно распространена. И знаете, её даже нечестной назвать нельзя, по крайней мере, в тех случаях, где это написано в пользовательском соглашении (это та штука с длинным нудным текстом, который вы проматывали при регистрации до галочки «Я согласен»)
Ну на самом деле правильный ответ таки «да». Да, просто забивая в браузере какой-то адрес и жмя на Enter — вы уже передаете о себе столько информации, что она сразу же попадает под «приватную» (потому что по ней можно идентифицировать ваш браузер, например, а если еще дать вам возможность как-то взаимодействовать с сайтом, что-нибудь писать или заказывать — то и вас самих).
Другое дело, что не все эту информацию собирают, а даже если собирают — то не все раскладывают её надлежащим образом. Но это вопросы не возможности, а технической реализации.

Чтобы эту возможность не допускать — вам уже по умолчанию нужно будет проделать массу действий по «анонимизации» вашего браузера и вас.
НЛО прилетело и опубликовало эту надпись здесь

Часть команды работает на VS Code, часть на QtCreator. Стэк не очень распространённый: C — под микроконтроллеры, С++ — под QNX и Windows и Python. В QtCreator до недавнего времени не очень ладилось с Python. Поэтому стали смотреть в сторону. CLion несколько разочаровал. Хоть и не заявлена поддержка qcc, но обламаться потому что в IDE наглухо вшиты ключи компиляции под gcc, которые не поддерживаются в qcc было обидно. Неужели нельзя было это в конфигурацию вынести?

вот из-за таких нюансов я, когда работал с QNX, использовал Far Manager как IDE и командную строку для сборки. хотя более молодые коллеги пытались, конечно, Geany и Sublime приспособить, небезуспешно в общем.
Вопрос: в VSCodium не устанавливается PlatformIO. Это в принципе невозможно или для этого нужно сделать какие-то настройки?

Скорее всего его нет в альтернативном репозитории расширений. Можно либо собрать из исходников и установить файлом, либо прописать репозиторий от Microsoft: https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace

Спасибо, попробуем.
Попробовал — всё работает, PlatformIO работает и никакого треша от Microsoft-а типа телеметрии, бинарных блобов и проприетарной лицензии — похоже это идеальный вариант.
VS Code на данный момент лучший в своей нише. Телеметрия и другие «тараканы» отключаются. Огромное количество плагинов под любые задачи. Объективной причины переходить на что либо другое нет просто.
Подозреваю пользователи вима и емакса с вами бы поспорили.
В VS Code нет «virtual space». К удобству привыкаешь. Простая вещь а без неё никак. Не понимаю. Почему её не делают?
НЛО прилетело и опубликовало эту надпись здесь

Это когда курсор можно в любое место экрана поставить и писать с этого места. Как в редакторе Far’а, например, или в (была такая IDE от Borland) C++ Builder’е. Обычно же после конца строки «мир заканчивается» и, например, курсор скачет по горизонтали, когда его стрелками по строкам гоняешь и он перескакивает с более длинной строки на более короткую. Некоторые находят это неудобным.

Это для каких-то специфических задач?
Да, для редактирования текста (исходников, в основном)

Ну терминологию напридумывали… "virtual space"!!! А я всегда считал, что все редакторы должны так работать, а там где не так — это из за каких то ограничениях. Ну не сумели правильно сделать потому что гонялись за меньшим размером или производительностью. Или язык/фреймворк не позволяет или руки растут не от туда… :D

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

Бутон End у вас заедает наверное. Вот почему вы такой злой. :D

Зачем делать лишний клик, если можно его не делать?

А зачем вообще кликать??? Ведь через клавиатуры навигация намного быстрей и удобней. Это текстовый редактор, а не графический.

Ну так собственно и вопрос, а вам зачем по этому свободному месту кликать?
Ведь через клавиатуры навигация намного быстрей и удобней. Это текстовый редактор, а не графический.
НЛО прилетело и опубликовало эту надпись здесь

Незачем, но там можно попасть и через стрелки.

НЛО прилетело и опубликовало эту надпись здесь

Перешел на него недавно. После (neo)vim и emacs многого не хватает: нормальных сплитов — безо всяких там editor groups, табов как в vim или в eyebrowse в emacs, быстрого простого переключения между проектами и, конечно, magit. Ну и падает VS Code регулярно, почему-то.

После Vim в любом текстовом редакторе очень многого не хватает :)
Это не только напоминает, но и будет религиозной войной.
Объективные причины есть: скорость, размер потребляемой памяти, расширяемость (плагинов для vim на одном только гитхабе сколько). Насчёт дробления окна я не знаю, но насколько помню в VS Code этого нет. Да и по сравнению скорости запуска и плавности работы VS Code сильно уступает vim.

Дробление окна == split screen? Всё есть.


Честно пробовал использовать обвешанный плагинами neovim для разработки на стеке Python/C++ и таки не поверите, под нагрузкой он тоже начинает тормозить.


VS Code представляет собой оптимальный компромисс между визуальными плюшками типа тем, боковых панелек и прочих автодополнений, и возможностью делать всё через консоль/команды. Да, в целом тормознее чем vim, но в отличие от vim, гораздо удобнее для кастомизации. Всё под рукой, не надо по полчаса вспоминать хоткеи/команды или искать их по конфигам. Если какой-то плагин не нужен в данном воркспейсе — отключаешь его для данного воркспейса. Красота.

Я давно уже не использовал VSCode, поэтому не буду оспаривать ваши слова.
Вообще vim крайне удобен, ибо простые действия позволяет сделать в пару кликов например:


  • dd — удаление текущей строки
  • d$ — очистка текущей строки
  • Ngg — переход в строку N
  • % — переход к парной скобке
  • fC — перейти к символу C

Вы скажите: "Долго и много запоминать" — но по опыту перехода с Sublime Text на vim я вам скажу, что уже через пару недель, эти пара хоткеев будут как дважды два.
Так же в vim для навигации используется раскладка hjkl, к которой по началу так же тяжело привыкнуть, но когда вы привыкнете, проблем возникать не будет.


Да, в целом тормознее чем vim, но в отличие от vim, гораздо удобнее для кастомизации. Всё под рукой, не надо по полчаса вспоминать хоткеи/команды или искать их по конфигам.

Но расширения для VSCode пишутся на TypeScript, следовательно для написания расширения необходимо его знать. Для создания плагина в vim нужно знать VimScript. Ситуация с расширяемостью одинакова.


Если какой-то плагин не нужен в данном воркспейсе — отключаешь его для данного воркспейса. Красота.

Разве в vim так нельзя?

НЛО прилетело и опубликовало эту надпись здесь
простые действия позволяет сделать в пару кликов

А посложнее?) Как из него выйти?


Вот например, моё любимое: копировать в / вставить из системного буфера
VS Code: Ctrl+C / Ctrl+V
vim: "*y / "*p — если не пользоваться этими сочетаниями постоянно, вылетает из головы на раз. Да, можно ремапить, но при использовании через SSH на чужой машине оригинальную комбинацию можно и не вспомнить. К слову, VS Code через SSH тоже умеет работать, хотя сценарии использования у них совершенно разные.


Как найти команду, которая ты даже не знаешь как называется и есть ли она вообще
VS Code: F1 > вбиваешь что-то примерное > автодополнение подскажет
vim: гугл + Stack Overflow + RTFM


Как найти настройку, которую ты даже не знаешь как называется и есть ли она вообще:
VS Code: settings.json > вбиваешь что-то примерное > автодополнение подскажет
vim: гугл + Stack Overflow + RTFM


Установка плагинов
VS Code: Зашёл на панельку с плагинами, вбил в поиск, выбрал подходящий или с наибольшим количеством скачиваний, установил.
vim: Нууу, сначала надо поставить менеджер плагинов. Допустим, выбрали Vundle. Сначала нам понадобится вставить set rtp+=~/.vim/bundle/Vundle.vim \n call vundle#begin() ... call vundle#end() в .vimrc, а как вставить из буфера в vim мы уже забыли. Дальше поиск по интернетам; плагинов к vim слишком много и не сразу очевидно, какой из них живее. Допустим нашли, RTFM, убедились что это вроде бы то что нужно. Выкачали в .vim/bundle, конечно же вручную, вписали в .vimrc Plugin 'best/plugin, перезапустили vim, обнаружили, что мы где-то опечатались, из-за этого сломался .vimrc и если не повезёт, не работает половина сконфигурированного функционала...


Отключение плагина для текущего проекта
VS Code: вкладка с плагинами > правой кнопкой мышки > Disable in workspace
vim: лезть в .vimrc и добавлять строчку, исключающую плагин для соответствующей директории
https://stackoverflow.com/questions/601412/how-to-turn-off-a-plugin-in-vim-temporarily


А как потом посмотреть какие из плагинов включены:
VS Code: на вкладке плагинов они "серенькие".
vim: а вот ищи или думай, это у тебя плагин сломался, или ты сам его отключил, или он и не должен был запускаться для текущего файла.


Допустим, я поставил себе новый плагин и ещё в нём не разобрался
VS Code: пойду на панельку плагинов, найду нужный, на вкладке Feature Contribution единообразно прописано всё, что плагин делает
vim: гугл + Stack Overflow + RTFM, или копайся в исходниках


Если подходящего плагина нет


Ситуация с расширяемостью одинакова.

Вот только поддержка Typescript в современном мире гораздо лучше, чем у Vimscript. То же автодополнение из коробки, которое даёт лёгкую и удобную навигацию по API. Хотя действительно, это не просто скриптик запилить, сначала надо будет поставить Node.js + npm, освоить базовые команды для них, yeoman для создания плагина из темплейта и фирменная утилита vsce для упаковки плагина в пакет и размещения в каталоге


Ещё по мелочи достоинства VS Code: вместо единого ~/.vimrc три уровня конфигурационных файлов (пользовательские настройки/workspace (что-то типа солюшена у MSBuild)/workspace folder), отдельные файлы с хоткеями, с глобальными тасками, с локальными тасками, с конфигурациями запуска/отладки. Отдельные панельки с отладочным выводом для каждого плагина. Возможность настройки одних и тех же хоткеев на разные команды в зависимости от контекста (доступен ли ввод с клавиатуры или файл открыт readonly, открыт ли виджет поиска или diff editor...). Ну и чрезвычайно удобный встроенный плагин для работы с git, из-за которого я и подсел на VS Code уже почти три года назад.

Я вот кстати никогда не понимал, почему любителям vim/emacs начинаешь говорить про всё это — а в ответ слышишь «ну на самом деле всё круто и гибко просто один раз нужно привыкнуть всё это легко запоминается». Задаешь прямой вопрос — а ЗАЧЕМ привыкать, делать всё нетипичное через гугл + RTFM, и так далее? В ответ опять что-то про гибкость и удобство. Как секта какая-то, честное слово.
Потому что после привыкания обратно уже не хочется. Я не вимер, но поставил vim idea плагин, потратил пару вечеров на привыкание и пару дней уже «в бою» на то чтобы непроизвольно не переключаться на хоткеи (использую правда далеко не все) — и уже обратно как то нет желания.
Когда постоянно пользуешься — возможно. Когда нет — очень сомнительное заявление. Мне один период времени приходилось очень плотно пользоваться vim (просто на том конце ssh ничего другого не было в принципе и не могло появиться), и за пару месяцев я даже начал ориентироваться в хоткеях без гугла и делать нужные действия достаточно быстро. Потом необходимость прошла, и уже спустя пару недель ни малейшей дозы информации о всей этой очень бесполезной хрени (хоткеях вима) у меня в голове не осталось.

Ну на самом деле всё круто и гибко и один раз настраивается. // trollface
Перефразируя анекдот про питон, vim такой гибкий, что выскальзывает из рук!


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


Если работать постоянно над одним и тем же проектом — тоже ещё можно жить, действительно можно всё настроить чтоб круто и гибко, и привычно. Но когда у тебя несколько разных проектов, все разных размеров и на разных языках от Typescript и Python до Java/Android и C#/Unity, проще взять что-нибудь поудобнее.

Да все проще, высокий порог входа, дает чувство элитарности.
Как линукс в нулевых, или тот же инвайт на хабре.
Задаешь прямой вопрос — а ЗАЧЕМ привыкать

Эффективность?

Это основывается на необоснованном тезисе, что привыкнув, можно добиться большей эффективности, по сравнению с «просто продолжать пользоваться VS Code и не париться».

Привыкнув, можно добиться большей эффективности.
Допустим у нас есть файл test.c, в строке 264, нужно pars("(+ 2 3)") заменить на pars(expr). в vim это можно сделать если ввести:
264ggwlcf" — выглядит страшно, но это легко разобрать:


  1. 264gg — перейди в строку 264
  2. w — перейти к концу слова
  3. l — перейти левее
  4. cf" — удалить всё до следующей "

(а потом собственно ввести: expr)


В VSCode сначала надо найти 264 строку (может там есть возможность сразу перейти, не знаю) потом выделить, и переписать. Да, неподготовленному человеку будет проще VSCode, но цель оправдывает средства.

  1. F1, test.c, Enter — это если надо предварительно файл открыть
  2. F1, :264, Enter — переход к строке
  3. Ctrl + F, ", Esc — переход к ближайшей кавычке
  4. Ctrl + Del или Ctrl+Shift+Right до желаемого эффекта, после чего можно вводить expr.

l — перейти левее

Может, правее?

НЛО прилетело и опубликовало эту надпись здесь

У меня Ctrl + Q. Поскольку оригинальную комбинацию забыл, то чтобы не сбивать с толку если вдруг кто-то полезет эту инструкцию проверять, на всякий случай умолчал.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Ну что Вы, vim и nano некошерно сравнивать. Если проводить какие-то параллели, скорее между vim и less, у которых / включает поиск, а q символизирует выход.


eumorozov
В vim'овских хоткеях есть своя логика, это да, но касательно


большинство сочетаний клавиш IDE — не мнемонические

есть некоторый минимальный "стандарт" комбинаций типа Ctrl+стрелки как перемещение между словами, Ctrl+F, Ctrl+Del/Backspace, который поддерживается не то что в большинстве редакторов, но и в большинстве приложений вообще.


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

НЛО прилетело и опубликовало эту надпись здесь

Вот именно, много где, но не в nano.)

НЛО прилетело и опубликовало эту надпись здесь
Допустим у нас есть файл test.c, в строке 264, нужно pars("(+ 2 3)") заменить на pars(expr). в vim это можно сделать если ввести:

У вас это типичная задача при разработке? Пойти куда-то по номеру строки и поменять A на B?

Нормальная задача. Вот прямо сейчас, при попытке сборки:
MyApp.cs(1425,76): error CS1061: 'Document' does not contain a definition for 'DocuumentInfo'


Omnisharp вовремя не подсветил, проклятый MSBuild пишет путь относительно проекта, а не от того места, где VS Code открыт, поэтому нельзя просто перейти по Ctrl + Left Mouse.


Собственно да, есть места, где VS Code проигрывает той же Visual Studio.

В VS Code я подобное вижу задолго до попытки сборки. Не знаю, конечно, насчёт C#, но тайпскрипт у меня проблемы начинает подсвечивать весьма быстро.

Впрочем, это не совсем верно — сборка идёт непрерывно на заднем плане, и скорость подсвечивания ошибок в VS Code примерно равна скорости появления «чего-то красненького» в консоли, где сборка идёт.

Поделитесь секретом?


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


(Да, я посмотрел, что у Вас в хабах C# или .NET не значатся, вопрос в большей мере риторический.)

Поделитесь секретом?

Да нет тут секрета. Понятно, что большие проекты и сложные конфигурации будут неторопливо шевелиться (благо делается-то всё то же самое, что и при обычной сборке, только in-memory).

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

Кстати, типичная рабочая задача — посмотреть git diff файла.
В VS Code (хоткеи могут не совпадать со значениями по умолчанию):
С предыдущей версией: Ctrl + Shift + G
С произвольной веткой: Ctrl + Shift + F1, выбрать ветку из списка, Enter


А в vim скорее всего надо будет делать вызов команды, которой ещё нужно передать путь до файла, и вспоминать как ветка называлась.

Для этого есть Fugitive.

vim: гугл + Stack Overflow + RTFM

:help %комманда%


vim: гугл + Stack Overflow + RTFM

:help %настройка%


Выкачали в .vim/bundle, конечно же вручную

Вы Vundle тогда зачем ставили? И помимо Vundle есть более простые в использовании менеждеры плагинов, например vim-plug.


vim: а вот ищи или думай, это у тебя плагин сломался, или ты сам его отключил, или он и не должен был запускаться для текущего файла.

:script — получить список запущенных плагинов.


vim: гугл + Stack Overflow + RTFM, или копайся в исходниках

А посмотреть описание плагина, не?


Ну и чрезвычайно удобный встроенный плагин для работы с git, из-за которого я и подсел на VS Code уже почти три года назад.

В vim хоть и не встроенный, но такие плагины есть.

Вы Vundle тогда зачем ставили?

Потому что я в них тогда вообще не разбирался и ставил то, что предлагали в туториале


:help %комманда% / %setting%

А если я не помню как команда/настройка/плагин называется?
Например (предположив, что все необходимые плагины установлены, но моторные навыки ещё не выработаны), как в vim поставить закладку в одном файле, выбрать другой файл в дереве проекта, включить анализаторы Omnisharp, найти варнинг и применить фикс от Roslynator? (Не уверен, что для последнего есть поддержка в виде vim плагина, но по крайней мере у него есть CLI.) Четыре Три разных плагина со своими мануалами, которые надо изучить. И вместо этого удобная панелька Show All Commands и settings.json, и всё это с отличным автодополнением.


:script

Спасибо, этого не знал.

А если я не помню как команда/настройка/плагин называется?

Здесь согласен. Может в vim есть плагин для решения этой проблемы, если нет, то в таком случае VSCode будет удобнее.

Собсно да, это основная проблема вима и подобного. В той же idea от jetbrains есть плагин который показывает хоткеи на те действия что через меню делаешь, позволяет их запоминать. У вима же такого я не встречал.

CudaText тянет на альтернативу?

НЛО прилетело и опубликовало эту надпись здесь

Раз речь зашла об редакторах кода, может кто знает решение: мне переодически нужно открывать другие бранчи чтобы что-то быстро в них посмотреть. Иногда просто чтобы проконсультировать об участке кода, а иногда буквально чтобы посмотреть как это было сделано в какой-то ревизии. Есть ли какой-то способ быстро открыть другую ветку гита с возможностью по ней навигироваться, но при этом иметь текущую так же открытой, а то git stash удобно, но ограниченно, а два раза клонировать репозиторий как-то не совсем удобно.


UPD: https://www.gitpod.io/features/#parallel похоже упомянутая тут https://theia-ide.org/ так умеет...

Расширение GitLens для VS Code так умеет, правда на больших репозиториях делает это очень медленно. Если сравнивать конкретный файл с другой веткой, это гораздо быстрее и можно завязать на хоткей.

GitLens великолепный плагин, но насколько я понимаю, он не позволяет "открыть второй экземпляр вс код в той же директории, но с другой веткой", или я что-то не могу найти в документации?

> GitLens: Directory Compare Working Tree with...
Раньше не умел, не так давно добавили.


Там это решается не через второй экземпляр, а через псевдо-workspace с двумя рабочими папками.

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


https://git-scm.com/docs/git-worktree
Пример:


$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... hack hack hack ...
$ git commit -a -m 'emergency fix for boss'
$ popd
$ git worktree remove ../temp

Ого, не знал, спасибо, очень круто и то что нужно!

Webstorm

На мой вкус, когда регулярно нужно работать с проектами живущих в разных средах и разных ЯП — у vscode нет конкуренции.
Это у них получается за счет мощной системы плагинов и очень качественного терминала.


Бесспорно, под каждый ЯП есть более мощные и крутые частные решения типа qt crearor, inteliJ, и тд.
Но если нужно универсальное решение, то vs code — кажется пока лидер, как универсальный редактор кода, с кучей плагинов под нужные ЯП и окружения

vim, emacs
или для тех кто не любит конфигурировать самостоятельно spacevim, spacemacs.
Очень даже конкуренты.
Я пользуюсь NotePad++ (с плагинами). Как по мне, очень хорошая и удобная вещь.
НЛО прилетело и опубликовало эту надпись здесь
Зачем изобретать велосипеды и текстовые редакторы, когда саблайм бессрочно бесплатный, а пожизненная лицензия всего $80?
Точно также можно сказать:
Зачем изобретать велосипеды и текстовые редактоы, когда vim/emacs бессрочно бесплатные и вообще свободные проекты?

Потому что в существующих решениях люди видят фатальные недостатки. Например, они написаны не ими)
Например, они написаны не ими)

Ну это не самый хороший для примера недостаток. Меня от vim/emacs, например, отталкивает необходимость посвятить существенное количество своей «оперативной» памяти запоминанию минимального набора действий для них. В то время как всё, что я помню о VS Code — это примерно два самых нужных мне хоткея. Об остальном я имею только смутные представления о том, где это следует искать/смотреть.
Ну это не самый хороший для примера недостаток.

К сожалению, nih-синдром распостранённое явление.
И если уж речь идёт о VS Code, то почему он появился если уже был Atom?)
В то время как всё, что я помню о VS Code — это примерно два самых нужных мне хоткея.

Ну вы преуменьшаете. Как мне кажется, вы как минимум используете ctrl+c/v/x/z/a, tab, shift+tab, ctrl+shift+p, end, home, shift+стрелки. Это ведь тоже хоткеи)
И для использования какого-нибудь spacemacs вам вряд ли потребуется существенно больше помнить.
С другой стороны, если вы захотите повысить свою эффективность, emacs/vim в отличии от vscode предоставят вам гораздо большие возможности.
И вовсе не обязательно запоминать все. Сборки типа spacemacs предоставляют краткую информацию по биндам. Она появляется при нажатии esc. Т.е. всё что вам нужно это смутное представление, что какая-то возможность существует, а дальше уже найдёте.
И как написано на их сайте:
Key bindings are organized using mnemonic prefixes like b for buffer, p for project, s for search, h for help etc…

P.S. Сам я использую vs code)
Давно уже хочу перейти на spacevim/spacemacs, но решил что прежде нужно научиться слепой печати с dvorak раскладкой. И вот с этим проблема, всё никак не получается.
Ну вы преуменьшаете. Как мне кажется, вы как минимум используете ctrl+c/v/x/z/a, tab, shift+tab, ctrl+shift+p, end, home, shift+стрелки. Это ведь тоже хоткеи)

Это неспецифичные для IDE хоткеи.

И вовсе не обязательно запоминать все. Сборки типа spacemacs предоставляют краткую информацию по биндам. Она появляется при нажатии esc. Т.е. всё что вам нужно это смутное представление, что какая-то возможность существует, а дальше уже найдёте.

А вот вы — так и точно преуменьшаете. Потому что еще придётся разобраться с режимами работы, переключениями между ними, и тому подобной побочкой, без чего лыжи не едут вообще никуда. В VS Code я вместо этого потыкаю мышой в абсолютно стандартном оконном интерфейсе.
И если «кратко» разобраться с чем-то не удалось, то документацию VS Code писали люди, а документацию vim/emacs (и space- вариантов) — я не уверен, кто её писал, но явно не люди. Пока я склоняюсь к версии «восьмипалые рептилоиды с двойным мозгом».

Ну и в конечном счете, даже если в итоге через всё это продраться, то на выходе с VS Code я имею под рукой простенькую, но IDE, а с vim/emacs я имею под рукой текстовый редактор, к которому IDE-фичи надо приделывать отдельно.
Это неспецифичные для IDE хоткеи.

Как и некоторые хоткеи emacs/vim не являются специфичными только для них. Хотя безусловно перечисленные мной хоткеи используются почти во всех приложениях под windows и захватывают/захватили другие платформы.
Потому что еще придётся разобраться с режимами работы, переключениями между ними, и тому подобной побочкой, без чего лыжи не едут вообще никуда.

Ну режимы это не недостаток, а фича. И разобраться надо всего один раз. Учитывая что вы скорей всего разработчик, я рекомендую попробовать вникнуть. Даже если не будете использовать, то для расширения кругозора полезно. Возможно некоторые идеи подхватите и добавите реализующие их расширения для vs code.
НЛО прилетело и опубликовало эту надпись здесь
Он и щас вроде тормозит, кажется проект подзабросили из-за vs code.
Но Atom открытый и был открытым. Тормоза можно было исправить.
Как мне кажется, основной причиной создания vs code было то, что atom в те времена не принадлежал microsoft. И вообще эта ситуация очень похожа на EEЕ. Я сейчас почитал википедию, так ситуация с vs code весьма явно попадает под первые два пункта тактики. Ну и под третий тоже в некотором смысле.
НЛО прилетело и опубликовало эту надпись здесь
Embrace: создание и продвижение на рынок своей реализации некой ранее существовавшей технологии, основанной на открытых стандартах, достижение хотя бы значимого, если не ведущего, положения на рынке;

Что и произошло, разве нет?
Atom был открытым текстовым редактором на «веб технологиях» с минималистичным, современным, лёгким в освоении интерфейсом и интеграцией git из коробки. Цитата из перевода первого поста с atom.io:
Наша цель — бескомпромиссное сочетание удобства и настраиваемости: редактор, с которым может разобраться и школьник, только начавший изучать программирование, но в то же время и инструмент, который не будет ограничивать опытного хакера.

Т.е. он был первым в своей нише. Ну по крайней мере, я ничего другого не знаю.
И vs code точно такую же цель достигает, причём используя похожие «веб технологии», а именно atom shell, который нынче развился и называется Electron.
Почитайте комментарии к первой новости о vscode. Люди сразу же сравнили его с Atom'ом, потому что похожи по своей сути.

Extend: добавление к технологии своих проприетарных расширений, реализующих нужные пользователям возможности

Точный список я не нашёл, но вот так по памяти: отладка, интелисенс, что-то для C#.

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

А вот это только частично. Продукт можно сказать что лидер рынка. Однако закрытия кода пока что не будет. Нынче Microsoft якобы «love Linux» и вообще за опенсорс. Слабо верится.
НЛО прилетело и опубликовало эту надпись здесь
Демагогия какая-то пошла. Я отвечу, но больше не заинтересован в продолжении дискуссии.

Начнем с того, что Atom это не технология, а конечный продукт.

Первая часть моего предыдущего поста как раз-таки была об описании «технологии» или скорее ниши среди текстовых редакторов, которую atom занял первым. А потом пришли microsoft, взяли ядро(atom shell), идеи и запили похожий продукт. Не то чтобы они нарушили законы, но их методы мне не нравятся.
Их решение конечно лучше, и люди выбрали в итоге его. Но с тех пор конкуренции по сути пришёл конец и microsoft перестал концептуально развивать редактор.
Только сейчас я понял, что github codespaces может быть эдакой 3й стадией — Extinguish. Vs code конечно остаётся открытым, но microsoft будет переманивать людей на облачную версию. Которая уже вполне закрыта. Она будет обрастать уникальным функционалом, или vs code постепенно начнёт тормозить, или вообще прекратит развитие. Может быть всё вместе, тут простор для действий большой.
Далее, EEE возможна только на технологиях, не принадлежащих компании, в то время как Atom был тупо куплен вместе с GitHub.

Вы бы посмотрели на дату выхода Atom, vs code и дату покупки github'a. Разница в несколько лет минимум.
А вот, то, что Atom умрёт, это понятно, но не потому что Майки его закроют, а просто потому, что он нафик никому не нужен.

Он уже отчасти мёртв. И был до покупки гитхаба, потому что vs code отобрал нишу.
НЛО прилетело и опубликовало эту надпись здесь
VS Code вообще никак не совместим с Atom.

Ну как же, один и тот же программист может писать и там, и там. Совместимость!
НЛО прилетело и опубликовало эту надпись здесь

Поставьте, для начала, vim-плагин для Vs Code.

Я не опытный вимер, но этот адон мне показался как-то жалкой имитацией. По ощущениям идею «кодинг на скорости мысли» он не реализует. Как интегрировать с другим инструментарием(fzf, ripgrep, etc) не понятно. Конечно, есть адоны реализующие похожий функционал, но несколько не то. Ну и использовать vs code для быстрого редактирования одного файла плохо получается. Так что всё-таки надо переходить с vs code.

Да не, не настолько уж и жалкой. Чего именно вам не хватает?


ripgrep в vs code уже и так интегрирован. fzf — для переключения между буферами? А чем вас стандартный ctrl+p не устраивает? В этом плане VS Code, кстати, как раз неплох.


В плане скорости, кстати, уже более-менее, по моему субъективному ощущению. Годик назад курсор заметно лагал, а теперь нет. Ну или я тормознее стал за год :)))) Кстати, что интересно, ускорение Vim-плагина даже заявлено в roadmap.


Есть ещё и плагин Neo Vim, который интегрирует настоящий neovim, но он, по ощущению, ещё сыроват (или я не осилил его настроить).


А если ради быстрого редактирования одного файла, то, конечно, да, тогда даже из терминала смысла нет выходить :D

Давно уже хочу перейти на spacevim/spacemacs, но решил что прежде нужно научиться слепой печати с dvorak раскладкой

Из моего опыта, более продуктивно сделать наоборот: перейти на vim-режимы, и получить слепой набор в подарок. Я когда-то именно так и сделал (правда отмечу, у меня qwerty). vim режимы вынуждают использовать основную часть клавы просто для передвижения по коду, и поскольку ты не можешь постоянно поглядывать вниз при навигации, ты постепенно просто запоминаешь локации клавиш. Причём, включая клавиши с цифрами, т.к. они полезны для быстрых манипуляций сразу множеством строк (или иных текстовых объектов). Единственное, я рекомендую включить hybrid line-numbers, чтобы понимать сколько строк вам надо скопировать или удалить. upd: уточню, в Emacs-derivatives для этого надо выставить (setq-default display-line-numbers 'visual) в конфиге.

Хоткеи и, в целом, гибкость — это как раз не минус, а большой плюс вима и емакса. Но то, что за Vs Code и многими расширениями стоит много людей и ресурсов — это заметно, и тут ни вим, ни емакс не поспевают.

Пользователей то наверняка больше. А вот разработчиков имхо вряд ли.
UPD: разработчиков в смысле разрабатывающих что-либо для самого редактора.

https://github.com/vim/vim
Contributors: 2, из которых первый — создатель, а второй законтрибутил один коммит на 10 строк
https://github.com/neovim/neovim
Contributors: 553, из которых человек 8 регулярно активных
https://github.com/microsoft/vscode
Contributors: 1198, из которых человек 20 занимаются им в качестве основной работы, во главе с небезызвестным https://github.com/egamma, из той самой "банды четырёх"

Я имел в виду расширения для редактора, а не сам редактор. Учитывая, что он консольный не нужно много человек для разработки ядра.
Ну и контрибуторы не всегда означает разработчиков. Там вполне могут быть люди правившие readme или комментарии)

github.com/search?o=desc&q=topic%3Avscode
4,468 repository results
github.com/search?q=topic%3Avim
7,592 repository results

Почти в 2 раза. И учтите, что vim существовал задолго до появления гитхаба и что есть другие площадки по типу гитхаба.
В общем, не очень удачная методика сравнения. Но, думаю, показывает что под vim создают больше.

Кстати, звёзд у neovim больше чем у vs code. Может быть и используют его больше?
разработчиков в смысле разрабатывающих что-либо для самого редактора.

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


Но опять же, надо учитывать, что то что в виме реализовывается с помощью плагинов, в VS Code идёт уже встроенным, для примера:



И каждая из этих фич имеет миллион реализаций. А то, что не встроено ни там ни сям, но крайне востребовано, имеет свои плагины:
https://github.com/OmniSharp/omnisharp-vim
https://github.com/OmniSharp/omnisharp-vscode


Я не "топлю" однозначно за VS Code и против vim, оба являются отличнейшими редакторами, просто из VS Code гораздо проще сделать универсальную IDE, чем из vim, поэтому она и обрела такую популярность.

И каждая из этих фич имеет миллион реализаций.

И плюс и минус. Иногда хочется чтобы просто работало без дополнительных усилий. А иногда хочется настроить под себя. Как мне кажется, vim в последнем случае выигрывает. Как и vs code в первом.

поэтому она и обрела такую популярность.

Я думаю, не из-за этого. А из-за примитивного мышкотыкательного интерфейса в котором легко разберётся большая часть людей, современного дизайна, ну и рекламы конечно.

UPD: Всё же интересно, какой из редакторов использует больше людей.
НЛО прилетело и опубликовало эту надпись здесь
А иногда хочется настроить под себя. Как мне кажется, vim в последнем случае выигрывает.

Не пробовал ещё писать плагинов к VS Code и TypeScript видел только понаслышке, но к VimScript возвращаться не хочется :))) Если настроить под себя, то, тогда уж, emacs.

Саблайм не плохой инструмент, но объективно он уступает VS Code. Первое что сразу вспоминается, если не копать глубоко- это «консоль».

Я знаю штук 30 редакторов для программистов. И думаю — не написать ли мне еще один…

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

Для своих pet-проектов я использую FAR, и мне этого хватает «за глаза» (на 100%). Писал под ним на ЯП: C, asm, bat (cmd), JS, и т.п. под Windows… Не говоря уже о всяких навороченных конфигах… Да и сейчас пишу. Другие редакторы/IDE по настоящему не использовал, только баловался немного. Сравнить [не]комфортность толком не с чем, опыта такого нет. Поэтому всё время подумываю, а не попробовать ли мне, скажем, X?.. Или Y? Но лень оставляет только одно — спросить у знающих (эти инструменты) людей: что действительно повысит, или может повысить комфортность разработки в плане создания/корректировки/разбора (и т.д.) исходных текстов?
спросить у знающих (эти инструменты) людей: что действительно повысит, или может повысить комфортность разработки в плане создания/корректировки/разбора (и т.д.)

Скажите, а ваши проекты — они все настолько маленькие, что вы обходитесь без отладчика?
Да, я действительно обхожусь без специального отладчика. Но отладку я всё же делаю в 99% случаев с помощью вывода отладочных сообщений на экран или в файл журнала. Анализирую, ищу и нахожу причины неполадки, затем исправляю. Пока мне этого инструмента хватало всегда, когда он требовался.
Тогда просто посчитайте, какая была бы экономия времени, если вам не будет нужно ковыряться в журналах, собственно вставлять эти самые отладочные сообщения, и тем более если надо посмотреть содержимое какой-нибудь сложной структуры, будь-то массив там или свойства объекта.
Следующий момент — автодополнение кода и шаблоны ввода. Причем первое, это не просто способ меньше набирать, но и меньше гуглить. Если вы не помните наизусть название и параметры какого-либо метода, но знаете, что что-то такое должно быть у библиотечного класса, просто начинаете набирать и смотреть.
Да, вы перечислили возможные «плюшки» от использования интегрированной среды разработки. Гуглить действительно приходится постоянно. Поэтому-то я и задумываюсь о каком-либо переходе на «взрослую» среду. Но их многовато уже есть, чтобы я мог их перепробовать и сделать свой выбор. Это ведь тоже какая-то работа, не так ли?
Пока побеждает лень. Но я готов прислушаться к разумному совету, подходящему для моих условий. Это Windows, отсутствие передачи данных моей разработки на сторону, чтобы глаза «не ломало» — всякие экранные возможности отображения текста, минимум мышиной возни. Ну и чтобы в итоге удобно было. Что посоветуете?
Да, я действительно обхожусь без специального отладчика. Но отладку я всё же делаю в 99% случаев с помощью вывода отладочных сообщений на экран или в файл журнала.

Это не отладчик. Если ваши проекты немного вырастут, вам потребуется настоящий отладчик, просто потому, что без него багу можно искать часами.
kdevelop, kate, notepadqq
Я бы в этот список добавил QtCreator, KDevelop и Kate (в последних версиях поддерживает LSP, что резко улучшает применимость для разных языков).
Slick Editor. С тех пор, как он вышел для OS/2 Warp. ЕМНИП, версия 2. Назывался Visual Slick Editor.

Странная подборка, про некоторые альтернативы первый раз слышу, при этом забыли старичков (Vim, Emacs, не говоря уже про их новые вариации типа Neovim, Spacemacs, Kakoune) и более известные альтернативы (Notepad++).


Про себя: использую Emacs с тыщей плагинов и модальным редактированием как в Vim (evil-mode), но это меньшее зло, идеального редактора не существует. Очень большие надежды возлагаю на xi-editor, быстрый модульный редактор на Rust, и по мере сил участвую в его разработке, но он перманентно в недоделанном состоянии, а в создании экосистемы плагинов для него ещё конь не валялся, годы пройдут, пока она вырастет до уровня конкурентов.

Самая большая проблема лично для меня заключается в выборе между Vim и IDE. Приходится выбирать между нормальным редактором, но IDE-фичами прикрученными «сбоку», либо между полноценной IDE, но с самым простеньким редактором. Уж не знаю, что из этих зол хуже, но на данный момент мне кажется, что потеря IDE-фич наносит меньший ущерб производительности.

P. S. Да, мне известно про существование Vim-плагинов — которые хоть и работают, да не так.
вот кстати, идеалом был бы vim, который бы динамически линковался ко всему, что его захотело, и emacs, который бы его цеплял в себя.

неовим же. Есть интеграция с Vs Code уже даже. Правда, интеграции с емакс еще нет, но и evil не настолько плох.

Очень большие надежды возлагаю на xi-editor, быстрый модульный редактор на Rust, и по мере сил участвую в его разработке,

Можете сказать чего хорошего в нём?
Я ещё года полтора назад услышал про xi, но так и не понял почему некоторые его восхваляют(ну помимо фанатов rust'a). Особого смысла от разделения на бэк и фронт для текстового редактора я не вижу, а остальные фичи не кажутся значимым и частично реализованы в современных сборках vim и emacs.
Вообще, заметил за любителями rust склонность переписывать всё что угодно на rust. Иногда получается что-то достойное, но зачастую выходит по функционалу 80% от оригинала. Причём в ридми помимо прочих фич этого «крутого» проекта обязательно указывается бонусом то, что он написан на «безопасном и быстром» расте.

P.S. Глянул ридми различных фронтендов, что-то не заметно прогресса за год.
Можете сказать чего хорошего в нём?

Для меня:


  • Возможность писать фронтенд и плагины на любом языке. Это отдельные приложения, сервер общается с ними на JSON-RPC, асинхронно. По сравнению с Vimscript и Emacs Lisp — просто небо и земля (хотя, справедливости ради, в Emacs есть API для динамической загрузки плагинов на C).


  • Быстродействие и снижение затрат по памяти — священная корова проекта. В документации прямым текстом требуется от разработчиков "любая базовая операция редактирования должна выполняться не больше 16ms". Куча оптимизированных структур данных (инкрементальные обновления кэша строк д. клиентов, оптимизированное хранение строк), всюду асинхронность.


  • Высокая модульность, отдельно сервер, отдельно клиент, отдельно language server, предпринимаются попытки выделить структурные компоненты редактора в отдельный SDK, на котором можно писать xi-подобные редакторы.


  • (Только для разработчиков IDE): редактор в начальной стадии разработки, можно попытаться реализовать мечту об идеальном редакторе. Проект известный, можно почесать эго и вписать своё имя в историю.


  • (Только для Rust разработчиков): Идеален для вкатывания в rust разработчику уровня сеньёра с опытом в других языках — многокомпонентный сложный продукт, даёт универсальные знания (обработка юникода, кэшей строк, асинхронное взаимодействие компонентов), куча как архитектурных задач так и деталей реализации. Отличная строчка в резюме.


  • Rust и Cargo со всеми их преимуществами.



Я ещё года полтора назад услышал про xi, но так и не понял почему некоторые его восхваляют(ну помимо фанатов rust'a). Особого смысла от разделения на бэк и фронт для текстового редактора я не вижу, а остальные фичи не кажутся значимым и частично реализованы в современных сборках vim и emacs.

Это так, редактор выстрелит только если реализует какие-то киллер-фичи для разработчиков которые будут в нём кодить, а для не разработчиков редакторов. Пока я слышал восторги только от вторых (которые на данный момент и являются основной аудиторией xi), из пользовательских фич пока демонстрировать нечего.


Вообще, заметил за любителями rust склонность переписывать всё что угодно на rust. Иногда получается что-то достойное, но зачастую выходит по функционалу 80% от оригинала. Причём в ридми помимо прочих фич этого «крутого» проекта обязательно указывается бонусом то, что он написан на «безопасном и быстром» расте.

Хех, есть такое, Xi ещё ладно, это разработка с нуля, а вот тут Emacs переписывают на расте. А ещё на расте (не на шелле) написан rustup, инструмент разворачивания и управления toolchain'ами раста. Да, чтобы изменить его поведение, надо его перекомпилировать, что очень весело делать, если он не отработал до конца и rustc ещё нет в системе.)) За себя скажу, что мне подход "Rust всюду" не нравится, я при всей своей симпатии к Rust не применяю его без нужды. В любом случае, эта проблема к Xi не относится, я бы контрибутил в него даже если бы он был скажем на C/C++ а не на Rust, его фишка в архитектуре и структурах данных, а не в языке.


P.S. Глянул ридми различных фронтендов, что-то не заметно прогресса за год.

Это известная проблема, сервер (xi-core) страдает от нехватки внимания ключевых разработчиков, тк лидер проекта и ещё 1 ключевой разработчик сейчас заняты на платной основе другими проектами на Rust — runebender и druid. А разработка клиентов тормозится багами сервера и тем фактом что я уже упомянул — догнать известные редакторы/IDE по функциям это задача на годы.

официальная сборка от Microsoft настраивается с учетом специфических функций, включая (...) телеметрию

… которая элементарно и штатно отключается:

code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting
code.visualstudio.com/docs/getstarted/telemetry

Но у некоторых при произнесении слова «проприетарный» включается режим экзистенциального ужаса и они бегут без оглядки, вместо того, чтобы просто совершить одно-два несложных действия, решающих то, что им кажется проблемой.
А какой компилятор (С/C++) надо для этого VSCodium?

P.S. Использую Codelite и GCC под MSYS2 для homebrew проектиков. Вроде хватает.
Честно помучался с VScodium. Знаете, писать JSON вручную, чтобы настроить полный ToolСhаin включая GDB -это как-то слишком… Вдобавок у него нету аналога компонента «C/C++ extension for VS Code». Как-то это все… слишком…
Короче плюнул, поставил микрософтовский Visual Studio Code с плагинами «C/C++ extension for VS Code» и «Remote Development». С миру по нитке собрал рабочие launch.json и tasks.json для запуска make. Проект — на удаленной виртуалке через ssh, под Linux, чистый С, дерево исходников собирается через «make all». Вроде ничего не глючит, автодополнение — автодополняет, ошибки подсвечивает, intellisense разворачивается, отладка шагает. На удаленной devel машине VSCode «Remote» запускает какой-то чудовищный BLOB. Ну и пусть, там нету Internet.

Лучше ли оно Codelite? Думаю — да, инструментов побогаче. В настройке — заметно сложнее. Если Codelite заметно черпает вдохновение из Visual C++, то тут все другое. Буду ли ставить VSCodium — не уверен.
Если я правильно понял, то какие их этих редакторов кода имеют возможность визуализировать его?
Слабаки, я использую Notepad.exe
image
Ладно, буду использовать бабочек для программирования.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий