Коаны Vim

в 9:28, , рубрики: vim, дзен-буддизм

Мастер Вэ Ку и разработчик под Вин Ды
Никакой разницы
Мастер Вэ Ку и прислужник Разметки
Мастер Вэ Ку и Мастер Ю Никс
Нет наилучшего инструмента
Сон мастера По У Пэ
Лучший редактор
Отчаяние медленного ученика
Постижение Vimscript
Посвящение Vim


Мастер Вэ Ку и разработчик под Вин Ды

Мастер Вэ Ку разговаривал с некоторыми своими учениками, изучающих путь Vim. После своего рассказа о множественности природы Vim, он спросил, нет ли у кого вопросов? Юный ученик поднял руку.

«Мастер, а что значит суметь отфильтровать второй столбец текстовой таблицы по всем рядам, содержащим строку ‘tcp’?

Мастер Вэ Ку не сказал ничего, повернулся к доске и написал:

:%!awk '/tcp/ {print $2}'

Шепот одобрения прошел среди его учеников.

«Но я занимаюсь разработкой под Вин Ды…», начал сбивчиво говорить ученик.
Масте Вэ Ку снова повернулся к доске, стёр команду и написал:

:v/tcp/d
:g/tcp/s/S+s+(S+)s.*/1/

«Стойте! Но это же слишком сложно для такой простой задачи»,-вскричал ученик.
Мастер Вэ Ку снова повернулся к доске, стёр команду и написал:

Microsoft Excel.

И студент, пораженный, просветлел.

Никакой разницы

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

Мастер Вэ Ку и прислужник Разметки

Прислужник Разметки пришел к Мастеру Вэ Ку, желая показать свой плагин для Vim.

«Смотрите, мастер», — сказал он, — «Я почти завершил макросы для Vim, транслирующие Разметку в HTML. Мои функции изящно переходят друг в друга, мой парсер – совершенство эффективности, а результат практически безупречен. Я наберусь смелости сказать, что я постиг Vimscript, и моя работа доказывает, что Vim – современный редактор для просветленных разработчиков! Всё ли я правильно сделал» ?!

Мастер Вэ Ку читал код прислужника несколько минут, не говоря ни слова. Затем он открыл документ с разметкой и напечатал:

:%!markdown

HTML мгновенно заполнил буфер. Прислужник заплакал.

Мастер Вэ Ку и Мастер Ю Никс

Старый мастер Ю Никс пришел к мастеру Вэ Ку. «Я обеспокоен, Вэ Ку. Ты обучаешь пути Vim. Но лишь vi священен, а vim – нет; его код неуклюж, его функции переполняют память; его бинарники огромны; его поведение непредсказуемо. Это не путь Unix, я думаю, ты заставляешь следовать своих учеников неверным путем. Что можно сделать?»

Мастер Вэ Ку кивнул. «Ты прав», — сказал он, — «Vim неправилен. Давай исправим его. Начнём?”

Старый мастер Ю Никс, согласился, запустил шелл и напечатал:

$ vi vim.c

И начал писать код. Мастер Вэ Ку наблюдал за ним некоторое время, а потом спросил: “А какую реализацию vi ты используешь? Nvi? Vim? Elvis?

«Я не знаю», — сказал Мастер Ю Никс, — «Нет никакой разницы».

Мастер Вэ Ку кивнул.

Мастер Ю Никс замер на мгновение, а потом вышел без сохранения.

Нет наилучшего инструмента

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

«Мастер, я создал замечательный скрипт для Vim, собирающий всевозможную полезную информацию о документе. Он подсчитывает слова, предложения, абзацы, а также сообщает, что это за документ, используя правила подсветки синтаксиса. Я постоянно им пользуюсь при конвейерной обработке. Он прекрасен и я им очень горжусь. Воистину, Vim – самая лучшая вещь!»

Мастер Вэ Ку ничего не ответил. Подумав, что он невольно рассердил своего учителя, ученик притих и продолжил работу.

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

«Не могли бы вы мне подать молоток, учитель?»

Мастер Вэ Ку подал новичку ножовку.

Внезапно, ученик просветлел.

Сон мастера По У Пэ

Мастеру По У Пэ однажды приснилось, что он пользуется Emacs. Когда он проснулся, он воскликнул: «Я не знаю – я Тим Поуп, думающий, что он пользуется Emacs или пользователь Emacs, думающий, что он Тим Поуп!»

Лучший редактор

Мастер Нэ Ил и Мастер Вуй Ят славились своими познаниями в обретении пути Vim, и путешествовали по стране, проповедуя.

Однажды, один из учеников, спросил: «Мастер Нэ Ил говорит гладко и ровно, его речь ритмична, а ударения правильны. А Мастер Вуй Ят полон энтузиазма, он то останавливается, то продолжает, его речь быстра и энергична, его душа переполняет его рассказы. Какой же из путей является лучшим при постижении Vim?»

Мастер Нэ Ил и Мастер Вуй Ят ответили одновременно: «А какой редактор лучше: vi или ex?»

Внезапно, несколько учеников просветлели.

Отчаяние медленного ученика

Мастер Вэ Ку доедал свой обед, когда ученик ворвался в его комнату и упал на колени к его ногам. Слезы текли по его лицу и он был в полном отчаянии. Мастер Вэ Ку поставил горшок и спросил: «Что так расстроило тебя, о, юный ученик?»

«Учитель»,-сказал он, — «Я сдаюсь. Я никогда не постигну мастерства Vim! Я никогда не сумею постигнуть пути великих предков! Я никогда не постигну жесткой простоты и божественной пустоты совершенного применения Vim!»

«С чего это ты так решил?»

«Я твой худший ученик. Когда я боролся с написанием простейшего макроса, мои товарищи легко писали рекурсивные макросы. Когда я пытался вспомнить регулярное выражение для пробелов, мои соученики писали тесты гигантской сложности в Vimscript. У меня всё получается слишком медленно, я боюсь, что у меня ничего не выйдет – я опозорен.

Мастер Вэ Ку встал. «Подойди со мной к окну»,-сказал он.

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

«Что ты видишь?»,-спросил Мастер Вэ Ку. Студент наблюдал какое-то время:

«Этот молодой человек использует Micosoft Excel чтобы создать таблицу. Он заносит цифры руками в каждую клетку. Он даже не знает как использовать формулы. Он делает заглавные буквы, нажимая Caps Lock, а затем нажимает её опять, когда всё готово. Он всё так медленно делает! Я не понимаю. Как он может быть таким довольным?»

«Посмотрев на этого молодого человека, чем ты не доволен?»,-вернулся к разговору Мастер Вэ Ку.

И студент немедленно достиг просветления. Звали его Ку А и позднее он стал одним из великих Мастеров.

Постижение Vimscript

Один из учеников спросил Мастера Вэ Ку, «Когда я пойму, что я достиг совершенства в Vimscript?”

Мастер Вэ Ку ответил: «Если не будешь им пользоваться никогда».

Посвящение Vim

Юный ученик добивался встречи с Мастером Вэ Ку, чтобы прочитать ему свою последнюю работу — стихотворение, прославляющее Vim. С глазами от волнения, полными слез он читал свои сердечные слова, изливая свою душу и благоговение в честь своего текстового редактора.

Мастер сидел и какое-то время слушал поэта. После десятого стиха, он поднял свою руку: «Пожалуйста, хватит. Твоя поэма ужасна».

Ученик очень рассердился.

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

«Ты написал это в Vim», — сказал Мастер. «Но твой размер нечёток, твои рифмы слабы, твои метафоры пребывают в беспорядке. Ты написал очень плохое стихотворение, используя очень хороший инструмент. Ты – не поэт, и Vim тебя им не сделает, многие из моих учеников не программисты и Vim им никак не поможет».

«Vim извечно прекрасен»,-запротестовал поэт,-«Он стоит того, чтобы о нём слагать стихи».

«Vim не постоянен. Nvi – не постоянен. Vi сам по себе не постоянен, только природа vi постоянна. У emacs есть природа vi, у nano есть природа vi, даже в notepad есть природа vi. Ты сам сужаешь своё видение и развиваешься зависимым, а значит, ты не смог ухватить истинную ценность предмета твоего стихотворения. Ты должен уйти. Вернёшься, когда постигнешь Emacs».

Поэт ушел, глубоко пристыженный. Он так и не вернулся.

Автор: las68

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js