LINUX.ORG.RU

Текстовому редактору Vim исполнилось 20 лет

 


0

3

opennet.ru

Ровно 20 лет назад увидел свет первый публичный релиз текстового редактора Vim, по прежнему пользующегося большой популярностью среди разработчиков. Vim вобрал в себя лучшие черты классического Vi, разработанного Билом Джоем в 1976 году, и дополнил его богатыми возможностями по редактированию кода, настройке, написанию дополнений и созданию скриптов для автоматизации действий.

Vim изначально развивался для платформы Amiga как редактор для работы с исходными текстами. Порт для Unix появился спустя год после первого релиза, в это же время была изменена расшифровка имени проекта с Vi IMitation на Vi IMproved. Вначале редактор Vim был очень близок к Vi, обладая лишь единичными усовершенствованиями, такими как многоуровневый откат изменений. Позднее к работе над Vim подключились другие энтузиасты и в редактор были добавлены такие средства, как многооконный режим редактирования, визуальный режим выделения блоков, работа с макросами, гибкие механизмы поиска и замены, подсветка синтаксиса, автоформатировние кода и прочие атрибуты интегрированных сред разработки.

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

От себя: насколько я знаю - многие навороты Vim позаимствовал у elvis (навороченный клон Vi)

>>> Оригинал новости на opennet.ru

Пользуйтесь MS Visual Studio и не мучайте себя.

anonymous ()
Ответ на: комментарий от shybovycha

> Люто, бешено плюсую любимому редактору!

ППКС

iMp ★★★ ()

От себя: насколько я знаю - многие навороты Vim позаимствовал у elvis (навороченный клон Vi)

Очень важное и ценное замечание! Спасибо!

power ()
Ответ на: комментарий от slackwarrior

> в слаке vi->elvis, так что != (или == не всегда)

в бубунте кстати то-же самое, но только если установить elvis, а так vi симлинк на vim

q11q11 ★★★★★ ()
Ответ на: комментарий от q11q11

Дык, дефолт же) Установка была методом «все, кроме DE и X-ов» 1 раз и без заморочек (нужно был безголовый вариант для торрентов на утянутый с работы списанный ящег запихать). С тех пор пашет на антресолях - есть не просит.

slackwarrior ★★★★★ ()

Почему такие угрёбищные программы не умирают вместе с их создателями?... :(

matumba ★★★★★ ()

/me в поисках работы

Текстовому редактору Vim исполнилось

прочитал как «Текстовому редактору Vim требуется...»

null123 ★★ ()

Ура! Пользуюсь и уважаю. Поздравления.

xeningem ()
Ответ на: комментарий от blackst0ne

Благодаря багам в mc и xkeyboard-config я открыл для себя vim.

Был бы чуть умнее - открыл бы для себя FTE :)

matumba ★★★★★ ()

Пусть злопыхатели злопыхают, быдлокодеры быдлокодят.
gvim-классная штука, что бы тут кто ни быдлозлопыхал.

obp ()
Ответ на: комментарий от ugoday

> Вимеры привыкли набирать текст ногами, а в emacs'е у них это не получается?

ты не шаришь, это такой специальный режим vim-а, набор ногами. в viper-е его реализовывать не стали, вот вимеры емакс и не любят

ananas ★★★★★ ()
Ответ на: комментарий от splinter

Любят, ага, как же

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

po1s0n ()
Ответ на: комментарий от matumba

> Был бы чуть умнее - открыл бы для себя FTE :)

Что за чудо-юдо такое дикое?

blackst0ne ★★★★★ ()
Ответ на: Любят, ага, как же от po1s0n

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

Кстати, один из плюсов, несомненно.

blackst0ne ★★★★★ ()

Долгой жизни отличному редактору.

PS Поскольку тут собрались все Vim-перцы, у меня вопрос: как можно прикрутить интерпретатор scheme к Vim-у, не считая варианта со screens.

incogn1to ()
Ответ на: комментарий от zloy_buratino

>nano наше всио

как в нем сменить кодировку файла?

bohm ★★★★★ ()

20 лет белке под хвост

Лучше бы HURD пилили.

terminator ()
Ответ на: комментарий от OldFatMan

>А не «наколенные лисапеды с квадратными колёсами»
webhamster, перелогиньтесь.

tmplsr ()

Так Vim - это же вроде редактор для задротов?

anonymous ()
Ответ на: комментарий от gaga

>Кстати, религиозный вопрос: является ли кощунством использование jikl вместо hjkl для перемещения курсора?
А на раскладке Дворака (вместо qwerty) ещё веселее. Там без перебиндивания хоткеев вообще никак. Особенно радуют шедевры быдлокодерства, где сменил раскладку — и кейбиндинги перестают распознаваться полностью (Gnome2, например).

tmplsr ()
Ответ на: комментарий от blackst0ne

>«здесь два режима»
1. командный режим
2. ввод команд в консоли
3. редактирования текста
4. режим ed

может, ещё что-то было. Но точно не 2.

tmplsr ()
Ответ на: комментарий от ymuv

>Кстати, а Торвальдс чем пользуется??
uemacs. Сильно упрощённым клоном Емакса.

tmplsr ()

Поднимаю кружку чаю за здоровье разработчиков VIM! И вторую кружку за его пользователей *скромно* за таких как я.

fractaler ★★★★★ ()
Ответ на: комментарий от gaga

>Кстати, религиозный вопрос: является ли кощунством использование jikl вместо hjkl для перемещения курсора?
Перефразируя Столлмана: Если ты пользуешься свободной версией VIM, то это не грех, а покаяние. Ибо «свобода изменять» одна из основных.

fractaler ★★★★★ ()

Кстати, совсем уже привык, но вот вопрос столетней давности: как при UTF-8 локали заставить работать всё в командном режиме при включённой русской раскладке?
Не то, чтобы сильно мешало, но, может, за последнее время появилось решение?

fractaler ★★★★★ ()
Ответ на: комментарий от tmplsr

По правде, у остальных тоже не один режим. Раньше было отличие «insert/replace»(не знаю, осталось ли оно ешё), отличается поведение при наличии/отсутствии выделеного куска текста, ну и 2 режима ввода команд (с контролами всякими и если мышкой в меню ткнуть). Т.ч. тут далеко не «несколько vs один», а «несколько систематичных постоянных vs несколько ad hoc временных». Что лучше - зависит от временности последних - если ими не пользоваться оно удобно, а если пользоваться часто - постоянные уже лучше.

Т.ч. вим(и т.п.) - «текстовый редактор», остальные - либо «наборщики» либо «нетекстовые».

DonkeyHot ★★★★★ ()
Ответ на: комментарий от fractaler

Два ответа, такой же давности:
1. костыль в конфиге или
2. программка-демон, который автоматически переключает раскладку (решение выкладывали где-то на хабре, дальше не помню).

tmplsr ()
Ответ на: комментарий от fractaler

>заставить работать всё в командном режиме при включённой русской раскладке

:help langmap

:help keymap

DonkeyHot ★★★★★ ()

>лучшие черты классического Vi, разработанного Билом Джоем в 1976 году

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

anonymous ()
Ответ на: комментарий от DonkeyHot

>«несколько систематичных постоянных vs несколько ad hoc временных»
Правильно ли я понимаю, что в емаксе дополнительные режимы реализованы по похожей схеме?

tmplsr ()
Ответ на: комментарий от Nagato

Спасибо! Не знал, что langmap теперь работает и с UTF. Всё оказалось очень просто :)

fractaler ★★★★★ ()
Ответ на: комментарий от DonkeyHot

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

PS. Но я это для fractaler-а говорю

argin ★★★★★ ()
Ответ на: комментарий от argin

>langmap это для работы клавиш во время редактирования, когда раскладка переключена скажем на русский язык.
А вот теперь не понял. Я задал langmap как в викиучебнике. Теперь в _командном_ режиме, я нажимаю «ф» и перехожу к редактированию (что и нужно было).
Ты это имел ввиду? Если нет, то я тебя не понял.

fractaler ★★★★★ ()
Ответ на: комментарий от splinter

> >по прежнему пользующегося большой популярностью среди разработчиков.

По моему его больше админы любят.


Не знаю, кого больше - админов или девелоперов использующих vim, но я для разработки использую gvim и vim/vi в консоли.

andreyu ★★★★★ ()
Ответ на: комментарий от chg

> Пользуюсь, как классическим vi. Навороты как-то не приживаются.

Использую по полной, в vi хоть и могу работать, но не уютно мне.

Пробовал emacs, но это чудо для обезьян, у которые вместо ног руки :)


Угу, сколько уже раз заставлял себя пересесть на emacs, но всегда возвращался на vim.

andreyu ★★★★★ ()
Ответ на: комментарий от DonkeyHot

:help langmap

минимум лет двадцать без сторонних патчей в юникоде не работает. что мешает включить сторонние патчи в оф. релиз - загадка.

swar0g ★★★★ ()
Ответ на: комментарий от tmplsr

>в емаксе дополнительные режимы реализованы по похожей схеме?

А то! Он, вообще, сильно программируемый. Это обрекает его(и другие аналогичные программы, включая vim) на наличие кучи отдельных режимов для каждого типа файлов. Насколько они «совместимы/систематичны» судить трудно, как и поверить в это; особенно если их писали многие люди и годы.

Про «1 режим» можно говорить для программ с количеством ф-й, сравнимых с количеством свободных 1)кнопок на клавиатуре + 2(в мышевозном варианте) места для кнопок на экране. Этого уже очень мало для эффективного редактирования текста. В этом случае vim «честнее» - там разные методы работы с текстом официально называются разными «режимами». В emacs-е, насколько я плохо помню, есть, как минимум, режимы ввода (к которому всё скатывается), управления(нажали ctrl), команд (нажали M-x) - в полном соответствии с vim-скими, за исключением необходимости топтать ctrl во втором. Есть ли аналог visual не помню. Т.ч. отличие не в разы, а в названия.

DonkeyHot ★★★★★ ()
Ответ на: комментарий от swar0g

>минимум лет двадцать без сторонних патчей в юникоде не работает

С разморозкой!

DonkeyHot ★★★★★ ()
Ответ на: комментарий от gaga

> Я знаю, и думаю, что это возможно из-за jikl темная сторона начинает овладевать мной. Поэтому и обращаюсь с советом к воинам света.

Первое время и мне казалось, что hjkl - плохое сочетание, хотелось заремапить, но я вовремя одумался ;)

andreyu ★★★★★ ()
Ответ на: комментарий от Binary

> O_O баги в виме?! Не видел ни одного.

Были недавно баги - через некоторое время переставал реагировать на любые комбинации, кроме ctrl+c, после чего он очухивался. Перестали работать комбинации с shift, при этом shift+symbol работал корректно.
Но походу проблема эта была связана то ли с иксами, то ли с гтк. Я так виновника и не установил, но теперь все работает корректно.

andreyu ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.