Pull to refresh

Коаны Vim

Reading time5 min
Views28K
Original author: Tom Ryder
Мастер Вэ Ку и разработчик под Вин Ды
Никакой разницы
Мастер Вэ Ку и прислужник Разметки
Мастер Вэ Ку и Мастер Ю Никс
Нет наилучшего инструмента
Сон мастера По У Пэ
Лучший редактор
Отчаяние медленного ученика
Постижение 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. У меня всё получается слишком медленно, я боюсь, что у меня ничего не выйдет – я опозорен.

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

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

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

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

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

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


Постижение Vimscript


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

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


Посвящение Vim


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

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

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

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

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

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

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

Поэт ушел, глубоко пристыженный. Он так и не вернулся.
Tags:
Hubs:
Total votes 82: ↑62 and ↓20+42
Comments19

Articles