Как я могу вдохновить других на использование vi / Vim?

37

Я был очень впечатлен силой vi в первые полчаса, в которые я его использовал. Затем я обнаружил, что в некоторых рабочих средах есть много людей (техников и даже системных администраторов!), Которые избегают его как «слишком сложного», даже не запустив vimtutor, и все же другие люди, которые используют vi только в режиме вставки и пропустить весь смысл модального редактирования.

Как я могу продемонстрировать силу vi / Vim другим таким образом, чтобы вдохновить их изучить и использовать это?

Меня особенно интересуют какие-либо реальные истории того, что удалось заставить других (или вас самих) изучить и использовать Vim.

Wildcard
источник
4
Я прочитал руководство по субъективным вопросам, и я думаю, что это подходит.
Уайлдкарт
@ Дикая карта, возможно, подходит для субъективных вопросов, но на самом деле она слишком широка. См. Meta.vi.stackexchange.com/q/1278/205 для обсуждения у нас аналогичного «субъективного» вопроса.
Муру
Я понимаю вашу точку зрения. Я прочитал эту дискуссию (и несколько связанных дискуссий). Я все еще думаю, что этот вопрос уместен, но я не думаю, что должен обсуждать это здесь; есть ли место в мета, где мы должны это обсудить?
Wildcard
@Wildcard вы всегда можете разместить вопрос на Vi и Vim Meta по этому вопросу.
Муру
1
@Rich Вот пример такого поста Medium: Почему я люблю Vim: Это менее известные функции делают его таким удивительным .
Серж Строобандт

Ответы:

54

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

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

На моей последней работе сотрудник очень интересовался Vim и хорошо знал основы ( vimtutor). Этого было достаточно для того, чтобы он мог быстро редактировать, но ему не хватало уверенности и умения, чтобы действительно переключиться на Vim (то, чего он на самом деле хотел). В какой-то момент ему пришлось сделать серию повторяющихся правок большого файла JSON вручную. Он был огорчен идеей потратить час на это и пришел ко мне в поисках более быстрого / более умного решения. Конечно, простой макрос сделал работу менее чем за минуту (включая запись), что позволило мне объяснить несколько ключевых понятий…

Одна проблема, с которой сталкиваются новички, заключается в том, что "что теперь?" момент, который наступает сразу после vimtutor. Vim очень хорошо скрывает свою красоту, и не многие люди хотят взломать эту раковину без посторонней помощи. Я могу оказать эту помощь в случае необходимости ... но я никогда не заставлю Вима другим.

romainl
источник
20

Я использую Vim для всего. Я имею в виду все. Программирование, обработка текстов, написание романов и т. Д. Все. Я сидел в автосалоне, используя Surface Pro 3, на котором работала виртуальная коробка Linux с Vim, и заставлял людей вступать со мной в разговор о том, что я делаю.

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

Я использую Vim, потому что у него очень маленький след. Размер Microsoft Word составляет несколько гигабайт, а на моем Surface только 128 ГБ. Мне нужно максимально увеличить пространство, и Вим помогает мне в этом. Это также расширяемое и помогает мне оставаться сосредоточенным. Вот, смотри. Продемонстрируйте некоторые из моих плагинов и покажите, как Vim в полноэкранном режиме по сути покрывает все, чтобы я мог думать .

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

Они ищут выход из разговора, и я возвращаюсь к письму. Vim - это религиозный опыт, а не текстовый процессор.

Мне нравятся черепахи
источник
3
Просто интересно: ты тоже пишешь свою почту в vim? (Я делаю!)
Олифонт - восстанови Монику
5
@Oliphaunt Я пишу электронные письма в VIM. Мой почтовый клиент - MUTT, и когда я редактирую или создаю новое электронное письмо, он открывает мой редактор по выбору. Я даже использую VIM для добавления URL-адресов в мой RSS-ридер (newsbeuter).
ILikeTurtles
7
Некоторые люди решили отредактировать мой ответ, заявив, что я использую Visual Basic. Я использую Virtual Box и запускаю Linux поверх Windows. Тем не менее, я думаю, что эти изменения очень интересны, поэтому я просто оставлю это. Это как играть в телефон с правками. История постоянно меняется, чем больше людей ее редактируют. Весело.
ILikeTurtles
2
@ Уилл Да. У меня есть виртуальная машина, которая занимает около 2 ГБ или меньше. Я бы предпочел установить всю операционную систему, VIM и все другие мои инструменты, чем установить 4 ГБ или любую другую копию Microsoft Tools. Сама виртуальная машина может расширяться, если мне это нужно, но этого еще не произошло, поскольку я работаю в основном с текстовыми файлами при работе с этим конкретным компьютером. Если бы я использовал FreeBSD, я потенциально мог бы запустить еще меньшую площадь и, вероятно, запустить всю виртуальную машину в рамках концерта.
ILikeTurtles
3
Для Office 365 требуется до 6 ГБ места на жестком диске и до 4 ГБ оперативной памяти. Я могу запустить всю ОС Linux, используя 4 ГБ пространства HD и 1028 МБ ОЗУ. Меньше, если я хочу подтолкнуть вещи. Я запустил FREEBSD на виртуальной машине и дал ей только 256 МБ оперативной памяти. VIM для меня заменяет Office, но, кроме того, полная установка ОС дает мне гораздо больше инструментов, чем Office, в меньшем объеме. Я надеюсь, что в этом есть смысл.
ILikeTurtles
17

Продемонстрируйте силу точки ('.') В командном режиме. Простое повторение сложного редактирования одним нажатием клавиши обычно выглядит как волшебство.

Дмитрий Рубанович
источник
13

Как человек, которому приходилось изучать Vim на моей последней работе, я бы сказал, что самым большим препятствием является установка по умолчанию , в которой не заданы параметры. Я провел большую часть времени, говоря: «Почему это происходит так, когда все ожидают, что это произойдет наоборот?»

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

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

Джон Б
источник
4
Видите, я подошел к этому без каких-либо из этих противных ожиданий, которые вы упомянули Этому способствовало осознание того, что он появился за десятилетия до того, как обычные пользователи знакомы с современностью. Я открыт для лучших способов работы, независимо от того, знакомы они или нет. И действительно, обременять новичка собственным файлом настроек - не очень хороший урок!
underscore_d
+1. У меня был такой же опыт, и я не мог согласиться с этим. Когда у вас есть работа для завершения, переключение на любой новый редактор может быть болезненным / невозможным. Не знаю, нужно ли просто передать .vimrc, но объяснение того, что это такое, и помощь новому пользователю в установке нескольких значений по умолчанию для его стиля работы может не только помочь им быстро продуктивно работать, но и послужит способом начала раскрытия части vi. (м) магия.
Будет
1
Чтение .vimrcфайла с кучей полезных значений по умолчанию действительно полезно. Я многое узнал о Vim, просто взглянув на опции, установленные в github.com/amix/vimrc
icc97
Я полностью согласен. Vim был бы еще более популярным, если бы в него было включено еще несколько батарей. Посмотрите, например, на то, что я должен был сделать, чтобы обмен словами работал. В его нынешнем виде он vimпредоставляет основные строительные блоки, из которых приходится настраивать / программировать текстовый редактор, о котором всегда мечтали.
Серж Строобандт
9

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

Определенно, существует определенная кривая обучения, которая просто отвлекает некоторых людей. Одна шутка идет

Как вы действительно генерируете случайную строку? Попросите новичка закрыть vim.

Джесси
источник
1
Хорошая точка зрения. Как человек, который склонен ориентироваться на клавиатуру, а не на мышь, vi/ mво многих ситуациях предлагает мне повышение скорости и / или избегает переключений между устройствами ввода. Кроме того, я довольно много делаю из командной строки (Linux, Cygwin), и viвсегда здесь .
underscore_d
8

Лучший способ - изучить Vim себя и продемонстрировать силу этого другим. Даже вам не нужно (демонстрировать это) - это самореклама. Как только вы используете его с некоторыми причудливыми синтаксическими цветами на каком-то хакерском фоне терминала, люди начинают интересоваться и часто спрашивают - какого черта вы делаете . Тогда покажи им.

Когда вы занимаетесь парным программированием и видите, что другой разработчик начал выполнять какую-то повторяемую работу, которая выглядит как задача сизифова (например, удары по Backspace или стрелкам сотни раз), скажите ему, насколько это вас раздражает, поскольку в Vim это занимает всего несколько нажатий клавиш в меньше секунды.

Также проверьте следующие страницы для некоторых полезных уловок Vim:

kenorb
источник
1
Ваш второй абзац точный. Кроме того, боль еще хуже, когда вы видите их, используя vim , в режиме вставки и нажимая клавиши со стрелками, чтобы переместиться вправо к концу строки . Arrrggh! (Я не придумываю это.)
Wildcard
1
Согласившись с @Wildcard, сводил меня с ума, наблюдая, как мой коллега пытается проанализировать данные фиксированной ширины путем подсчета нажатий клавиш , он взял его пару недель, моя помощь была отклонена. Вздох
roblogic
7

Самое главное: не давите, не проповедуйте. Будьте абсолютно уверены в своей мотивации. Если есть даже намеки на миссионерскую работу, не начинайте. Подавляющее большинство людей реагируют либо раздраженно, либо агрессивно, потому что простое предложение проверить другой рабочий процесс несет в себе критику. Что ваш рабочий процесс может быть лучше, чем у них. Что закрывает многих людей. На самом деле, это общий принцип, который работает независимо от обстановки (например, вегетарианцы / мясоеды, демократы / республиканцы, автомобильные бренды, рецепты…). Все они делают то, что делают, потому что считают, что то, что они делают, является правильным способом сделать это.

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

Я предлагаю поднимать тему, когда нет крайнего срока, в спокойной обстановке. Поговорите со своим опытом, каким образом вы были впечатлены и насколько эффективнее вы себя чувствуете сейчас. Никогда не сравнивайте. Никогда не говори «лучше», так как это было бы абсолютным утверждением, просто требующим оспаривания. Всегда говорите: «Я так продуктивнее». Таким образом, другой человек не может отрицать, что вы действительно более продуктивны и не оказываете никакого давления. Если другой поднимает тему, будет осторожен и, возможно, предложит поделиться одной или двумя ссылками, Vimcasts - отличный ресурс, например.

Изучение Vim - адская задача, особенно учитывая безумное количество времени, которое вы тратите на правильную настройку. В то время у меня в голове было так много вопросительных знаков, и каждая секунда была бессмысленной или даже враждебной. Это противоположность интуитивного. Либо кто-то придерживается этого и становится все более и более "ага!" моменты или просто уронят его для более Word-подобного редактора. Что бы ни работало.

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

herrbischoff
источник
7

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

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

Неофициальный девиз Perl - TMTOWTDI (есть несколько способов сделать это). Поскольку класс задавал вопросы, преподаватель вносил изменения, чтобы показать альтернативы, быстрее, чем он мог описать правки словами . Я привык иметь возможность читать код в процессе его редактирования, но для него редактирование происходило в виде множества клавиш, а затем последовало объяснение с ледяной скоростью по сравнению. Если бы ему не пришлось останавливаться, чтобы объяснить нам изменения, он бы уже перешел к следующему заданию.

У меня есть несколько подобных возможностей для демонстрации vim:

  • Скрам встречи
  • Парное программирование
  • Технические переговоры
  • Демонстрация программного обеспечения

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

Карл Билефельдт
источник
Я думаю, что ваше сравнение впечатлений, созданных двумя очень разными воздействиями vi, является очень ценным уроком. Я думал об этом много раз с тех пор, как прочитал это ... в моей голове. Спасибо.
Wildcard
6

Именно внутренние движения заставили мои глаза превратиться в плавающие сердца для Вим. В дополнение к .повторениям и добавлению префиксов к количеству показ внутренних движений обычно является одной из первых вещей, которые я показываю / делюсь, когда кто-то спрашивает меня о vim. ci(или gUi>или diw.

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

Будет
источник
2

Хотя у viнего уважаемая родословная в истории компьютеров, я бы рекомендовал сосредоточиться на ней vim. Это полнофункциональный редактор с невероятными возможностями, соответствующий любому из конкурентов. Единственным недостатком является кривая обучения; Требуется время, чтобы получить "Vim мышление" и мышечную память. Я думаю, что оно того стоит. Когда вы становитесь профессионалом, в вашем распоряжении много силы vim.

  1. Продемонстрировать мощь vimscript для автоматизации скучных задач обработки текста.
  2. Установить классные плагины, как vim-airline, потому что всем нравится хороший интерфейс.
  3. Есть множество бесплатных учебных пособий, как этот .
  4. vi/ vimустанавливается на все системы на основе Unix; поэтому любой профессиональный сисдамин должен иметь практические знания об этом.
roblogic
источник
Настоящая суть моего вопроса - «Как» в отношении пункта 1 вашего ответа. Был ли у вас какой-либо опыт, демонстрирующий это другим или показывающий себя?
Wildcard
Не так много для демонстрации, но я обычно использую небольшие сценарии vim для очистки текста, но, как и вы, у меня нет большого интереса со стороны коллег (они предпочитают сваливать вывод в массивные документы, которые никто не читает)
roblogic
0

Я люблю VIM, но кривая обучения крутая.

Любой профессионал, который еще не принял VIM, вряд ли будет убежден аргументом . Только по необходимости.

Слушая людей, которые говорят, что они используют VIM на регулярной основе, самый большой пример использования - от администраторов, управляющих несколькими машинами * NIX удаленно с CLI через SSH.

VIM буквально установлен почти на каждой машине * NIX на планете.

VIM более 25 лет, и я не изменился с тех пор, как начал использовать его в 1998 году.

кстианской
источник
0

Просто попросите ученика поменять два слова с помощью процессора Word ™ ...

… Тогда покажи, как мастер делает это с vim . (Вот карта для этого; больше здесь .)

Наконец, позвольте ученику подумать, действительно ли он / она работал со словом процессором.

Серж Строобандт
источник
1
Умно, но control-backspace удалит слово практически в любом редакторе Windows, а alt-backspace - практически в любом редакторе Mac.
Wildcard
@Wildcard Я сомневался между удалением и выбором первой идеи . Вы абсолютно правы, конечно. Поэтому я изменил его обратно, чтобы выбрать.
Серж Строобандт
Still-ctrl-shift стрелки влево / вправо (или стрелки alt-shift для Mac). :)
Wildcard
@ Wildcard Я думаю, что получил это сейчас. Я должен был восстановить мои прошлые рассуждения. ;)
Серж Строобандт
@Wildcard Спасибо за настойчивость. Мне было трудно вспомнить, что именно заставило меня сделать радикальные изменения gvim. Теперь я хорошо помню. Это было замена / перемещение слов в предложении при написании текста на английском языке в качестве носителя языка. Я написал свои собственные сопоставления vimscript для выполнения именно этого.
Серж Строобандт
0

Vim также о переоценке текстовых файлов

В контексте создания документа значение vim заключается не только в его невероятных навыках редактирования слов. Vim - это также путь к восстановлению ценности вездесущего простого текстового файла и его гарантии вечной обратной совместимости.

Vim также сосредоточен исключительно на контенте; не форматировать

Если кто-то не занимается редактированием веб-страниц, разделение контента и формата может быть концепцией разрушения парадигмы для любого обычного офисного работника. По этой причине мне нравится показывать gvimсебя редактором Markdown в сочетании с Pandoc и, возможно,makefile .

Это также является хорошей демонстрацией философии Unix или GNU / Linux по объединению и передаче программ, которые чрезвычайно хороши в одном.

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

Серж Строобандт
источник
0

Эргономика

При правильной настройке я могу работать часами без болей в плече или спине.

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

laktak
источник