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

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

Теги не читают, по ним ищут. Спасибо за перевод.

Предпочитаю терминал, но есть ряд веских причин, чтобы выбрать отдельное приложение Vim:

5. ...

6. По форме курсора в GUI приложении легко определить текущий режим, не опуская взгляд на строку состояния. :)
НЛО прилетело и опубликовало эту надпись здесь

Справа налево

:q!

# nanoХватит это терпеть :)
Если вам нужна настоящая цветовая схема Solarized вместо того кощунства, которое получилось при сжатии Solarized до 256 цветов.

Перешел на терминалы с поддержкой 24-битного цвета (в частности, iTerm2) и всем рекомендую.

Как минимум одно из двоих то поставить нужно.


При прочих равных с ag — Фзф типа в ряде случаев быстрее

fzf быстрое и асинхронное

Плагин… Плагин… Плагин…


Советую посмотреть ролик https://youtu.be/XA2WjJbmmoM
Он уже довольно старый, но хорошо отображает, насколько вим полноценен и самостоятелен, и насколько хорошо можно обходиться без горы плагинов на каждую простейшую задачу

Я использую 57 плагинов. Все они необходимы и встроенного функционала в виме нет. Именно такого, который есть в плагинах. Ага, можно конечно пользоваться set path+=**, но когда проект чуть больше, чем хеловорлд, становится неуютно этим пользоваться. Всё остальное по аналогии.

Шутки шутками, но пару дней назад я своими руками гуглил "как выйти из vim".


Хтонический ужас этот ваш vim. Текстовый редактор, сделанный садистами для мазохистов.

Шутки шутками, но я понимаю, что в 90-м году редактор vi еще не умел показывать подсказки, а люди могли не знать сочетаний клавиш. Но сегодня вим при запуске без файла показывает help. В случае нажатия ctrl+c — пишет "Type :quit to exit Vim". То, что кто-то неосилил вим — не делает его "Текстовый редактор, сделанный садистами для мазохистов". Тут проблема несколько в другом :)

В современном мире более-менее неплохо достигнут консенсус относительно того, что должен представлять собой текстовый редактор. В частности, если пользователь делает «Type :quit», у него в позиции курсора должно напечататься «:quit». Без вариантов.

Вещи, которыми мы пользуемся, должны быть удобными, практичными и простыми в понимании и использовании. Особенно это касается инструментов, используемых профессионалами. Удобство пылящегося в шкафу горожанина топора никого не волнует, но юзабильность топора, которым работает каждый день плотник, должна быть доведена до совершенства. У нас же странная ситуация: для «привет, как дела» нормальные текстовые редакторы, а для редактирования конфигов серверов — [censored].

Можно сделать велосипед, которому для того, чтобы ехать вперёд, нужно крутить педали назад, а для того, чтобы повернуть направо, нужно будет крутить руль налево. И будут привыкшие к этому ужасу и настаивающие на том, что крутые чуваки только таким пользоваться и должны. Потому что иначе не круто. Но что-то мне подсказывает, что объяснения таким феноменам нужно искать не в рациональных мотивах, а в банальном стокгольмском синдроме.

Так способ редактирования в Вим (режимы) именно что доведен до совершенства ;)

Но что-то мне подсказывает, что объяснения таким феноменам нужно искать не в рациональных мотивах, а в банальном стокгольмском синдроме.

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

vim — это редактор для тех, кто привык к vim.
но меня необходимость что-то печатать, чтобы добраться до того же буфера, просто вымораживает.
я знаю, что у многих программистов есть эта манера «мы будем делать работу со своей скоростью, остальные подождут» и им не лениво делать ее дольше, пренебрегая личным\семейным временем. Как только по задаче будут стоять короткие сроки и заслонка будет падать в 17:30, так сразу начнется IntelliJ idea и прочий JetBrains.

57 плагинов, выше чувак пишет… простите, сколько времени он потратил на поиск и установку 57 плагинов? Я этот ваш Sublime не стал ставить, так как там даже распечатка кода — плагин.
НЛО прилетело и опубликовало эту надпись здесь
Почему вы мне отказываете в праве убить время на статью про вим, если установка 60 плагинов не вызывает у вас ни тени протеста?

Несмотря на то, что вы, или кто-то, довольно резво понизил мне карму для поддержки своей точки зрения, но я все измеряю в терминах эффективности. Обилие кликов для простых операций, колоссальные кустомизации — это все время. Хороший программист зарабатывает что-то навроде 1000 долларов в неделю, которую, например, я бы явно потратил на все эти 57 плагинов. Конечно, деньги в масштабах даже года маленькие, но если он сегодня ставит 57 плагинов, то завтра — вместо выдачи результата — он может угрохать еще куда-то столько же…
НЛО прилетело и опубликовало эту надпись здесь
Вопрос выглядел как завуалированный намек «тут не приветствуется критика известных отрицательных сторон юзабилити великого редактора».

Пришло на почту, вот и прочитал. Можно подумать, котиков на 9gag все смотрят «зачем-то» ;)

Просто задаюсь вопросом, насколько продуктивна работа в данном редакторе — и на что еще готов отвлечься от дела программист, которому не лень собирать из плагинов обычный функционал.
НЛО прилетело и опубликовало эту надпись здесь
Краткие перерывы вполне допустимы. Таску, кстати, вполне себе делаю и еще двух человек сориентировал на их работу сегодня
НЛО прилетело и опубликовало эту надпись здесь
Терпимее надо быть с другими людьми

  • я вообще только за себя писал, а других людей не трогал.
  • ваша собственная терпимость к другим людям проиллюстрирована «допросом» про то, зачем я пишу комментарии и минусом в карму. Но я в людях и так давно разочаровался, так что ничего нового не увидел.
НЛО прилетело и опубликовало эту надпись здесь
Про «печатать чтобы добраться до буфера».
Автор статьи подразумевает что если человек пользуется Вимом то он умеет назначать горячие клавиши на «многобуквенные» команды.

Более того — если бы автор привел свои хоткеи вместо полных команд — то было бы совершенно непонятно.
Вам не кажется, что гигантская по трудозатратам нужда в донастройке vim — это прошлый век?

Сколько времени у него должно уйти на настройку хоткеев? Еще денек к той неделе, которая потребуется ему на 57 плагинов?
Вам не кажется, что гигантская по трудозатратам нужда в донастройке vim — это прошлый век?

А что нынче не надо под себя донастраивать, если хочешь удобства?

Ну допустим IntelliJ не надо. Разве что печать на клавиши повесить

Это если вас полностью устраивают идеевские дефолты. Но даже в этом случае на запуск мавен или гредл тасков надо хоткеи делать.

У IntelliJ есть несколько альтернативных настроек, которые кто то сделал и вам предлагают их выбрать при установке. И там тоже не на все есть уже хоткеи.

Ровно также есть готовые настройки и для Vim. Они тоже могут подтягиваться автоматом из интернета как и плагины для IntelliJ к примеру
Я переформулирую доводы тех, кого слышал (и с кем согласен):
1. При достижении определенного уровня умения, vim дает прибавку к скорости работы (исследований на этот счет я не слышал, но все кто им пользуются так утверждают. Доводы у каждого могу быть совершено разные)
Примеры доводов
1. Не надо переключаться на стрелочки
2. Поддержка любого языка программирования
3. Быстрая загрузка самого вима на любой системе и быстрая загрузка любых, по размеру, файлов.
4. Быстрая установка и настройка вима с нуля со всеми своими любимыми плагинами на любой системе
5. Работа через SSH
6. Поддержка макросов: жмете «q+[любая буква]», делаете что нужно, потом на "@+[эта буква]" можете все повторить. Например легко превратить из print('val=', val) в log.debug('val=' + val) 10 строчек. Причем для этого есть не только макросы, а еще много разных путей и способов. Большинство из них быстрее, чем «заменить на» с помощью мышки. Пусть на несколько секунд, но быстрее.
7. Если вас действительно интересует, каким образом люди повышают производительность с помощью Vim, полистайте тут(en), или вот ответы на прямой вопрос в чем выгода учить vim?(en)
8. На самом деле на этот ваш вопрос не отвечал только ленивый, и количество статей и ответов на эту тему давно стремится в бесконечность.

2. Овладев vim-ом в должной степени во время работы испытываешь «кайф», когда перестаешь думать о нажатиях клавиш, а просто думешь о том, что тебе нужно.
Лирическое отсупление
Например, ты просто смотришь на букву, пальцы автоматически нажимают несколько клавиш, и вот уже курсор там. Еще пара клавиш (которые нажимаются без участия мозга), ты поставил закладку, прыгнул в функцию, что-то подредактировал, запустил программу, увидел результат, прыгнул на метку и поменял какое-то значение. Всё это автоматически, глядя только на экран и думая только о том, что тебе нужно сделать. Это как ощущение управления автомобилем в гонке: ты уже не думаешь какую педаль нажимать, какую скорость втыкать, ты смотришь на дорогу и соперников, все твое внимание находится там. Если во время работы приходится убирать руки на мышку, то это воспринимается примерно как отвернутся от дороги во время гонки и что-то искать на заднем сиденье.

Отвечая на ваш вопрос, сколько времени он на это потратил не так важно, поскольку, в конечном итоге, вим дает прибавку к скорости, то есть затраты на его настройку похожи на затраты для овладения слепым методом печати. Или вы считаете изучение слепой печати тоже бесполезным проведением времени?
Все же, с одной стороны, я с вами согласен. Неправильно приходить на работу и копаться в плагинах и настройках вима несколько часов (и я уверен, никто этого не делает). С другой стороны, нужно понимать, что не все так просто в жизни: если вы напишите за 1 час плагин к виму, который потом сэкономит вам суммарно 2 часа рабочего времени, то почему нет?
И позвольте вам ответный вопрос: почему до сих пор такое большое количество программистов используют текстовые редакторы вместо IDE? Вы всерьез утверждаете, что это просто вопрос привычки?
Готовые хоткеи кем то уже созданные — нужно запомнить.
Свои — нужно придумать.
Что проще?

По сложность — вообще не понял. Задание того или иного хоткея — это штатная функциональность редактора. Для этого не нужно писать свой скрипт.

Для более «современного» по вашим меркам редактора команда звучала бы так «меню Edit/Select All». Что тоже громоздко.

Если же вы предпочитаете пользоваться тем хоткеем Ctrl+A который за вас кто то придумал — вы ровно также можете воспользоваться и для Vim чужой дефолтной настройкой.

Меня например тоже вполне устраивает для языка Go великолепные настройки vim-go, которые придумал (и продолжает дополнять и развивать) Аслан не помню по фамилии как его

Думаю что нелюбовь к большому количеству плагинов вызвана именно отсутствием асинхры в vim < 8. Те же линтеры превращали работу в ад, особенно на синтаксически сложных языках, типо Ruby.

Fzf для windows не особо полезен, как я понял? Час бился над ним, подключил это чудо поиска к vim с помощью fzf.vim, всё равно толкового ничего не вышло: почти все мои файлы находятся на диске D, но fzf упорно ищет только С. Как поменять — непонятно. Полноценной инструкции по установке и настройке в Windows нету. Можно сказать только экспериментальный режим. Открывается в отдельном окне, поддержка внутри вима возможна только для консольной версии. В общем помучался, поигрался, не оценил. Когда в будущем перейду на Linux, попробую еще раз, а пока очень жаль что ничего не вышло.
За остальные плагины спасибо, особенно ale понравился, Syntastic с pylint даже на 500 строках кода подтармаживал каждый раз при сохранении файла.
Попробуйте LeaderF, он так же будет полезен тем, кто пользуется gui vim.
Я думал CtrlP будет достаточно, но, почему-то, он не увидел появления новых файлов в папке. Спасибо, LeaderF действительно подошел лучше.
просто ты достаточно ленив, чтобы прочитать документацию к ctrlp
После 15 лет использования понял, что:
1. модальный режим неэффективен
2. все эти финты с текстом не нужны. Достаточно примитивов

Перешел со слезами и соплями на Emacs. Жаль столько лет потратить на неэффективный инструмент.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий