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

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: adriano32 (всего исправлений: 3)

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

>нетривиальное на `vimscript'

Факт наличия в сущности говна мамонта почти ничего не говорит о самой сущности.

DonkeyHot ★★★★★
()

Не смотря сарказм некоторых пользователей vim не так уж и плох, а если учесть, что vim не использует для своей работы шлак навроде JAVA-JRE, C#.NET Framework то vim вообще супер.

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

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

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

вот что написано в твоём викиучебнике.
«Командный режим» — Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:

:

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

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

> Факт наличия в сущности говна мамонта почти ничего не говорит о самой сущности.

А какой процент используемых (сферическим средним вимером) сторонних расширений реализован через биндинги?

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

anonymous
()

И что все привязываются к Vim'овой «режимности»? Я вот вообще никогда не вспоминаю, что там какие-то «режимы» есть. Просто пользуюсь. Иногда мешает только реакция на (случайно нажатый) КАПСЛОЦК - вот тогда начинает и пищать (если не осилили вырубить bell) и портить.
ИМХО главная фишка именно в использовании модификаторов - нажал j - спустился на одну строку. нажал zj - спустился на одну «складку» (превед имаксерам, C-c @ C-M-h). очень крутая идея. ну, это не упоминая уже об остальных вкусностях. хотя, последнее время «обвес» начинает устаревать, ибо не меняется почти. GTK морда ведет себя не всегда нормально. но стержневая идея бессмертна.
и да, одно лишь использование hjkl подталкивает к (само)обучению нормальному использованию клавиатуры, hunt-and-peck забывается как страшный сон. ну а те, кто одним пальцем, ясен пень, Вима не поймут никогда. И после православного передвижения по тексту дикообразные емаксовские шорткаты (начиная с C-n/C-p and friends) вызывают плохопоборимое отторжение. Такой стройной системы-то нету - в ОСи-без-редактора просто взяты все функции и прибиты к хоткеям. не удивительно что такой франкенштейн получился. Который даже рисовать номера строк на -дцатый год жизни еле научился, а дефолтным режимом «скроллинга» текста норовит вынуть моск вместе с глозами. из чего я давно уже заключил, что Настоящие ГНУтые Джедаи тест вообще не скроллят и, соотв., номера строк им ни к чему. Они просто скрадывают пространство буфера на манер Навигаторов Гильдии с помощью секретного билда libastral (через биндинги на lisp'е есесвенно), собранного слепыми кодерами-провидцами с планеты Арракис [играет main theme из соотв. кина].

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

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

Using a free version of vi is not a sin; it is a penance.

Всепокайтеся!

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

> превед имаксерам, C-c @ C-M-h

Как выше несколько раз сказали, есть `vimpulse', для данной задачи, имо, он удобен. Разница-то непринципиальна, решается ведь (хоть и с костылями).

hjkl подталкивает

Непортабельные гвозди, есть «более другие» раскладки, нежели ваше непотребное `qwerty'.

взяты все функции и прибиты к хоткеям

А не наоборот? Что, что, а в емакс-ых костылях нет недостатка [оксюморон] гибкости. Относительно вима сочетания вполне прозрачно настраиваются, хоть пользовательский `map' создавай и подключай когда надо.

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

подсветка синтаксиса и называть Файлы_Вот_Так есть признаки позорного вантузятничества, которые подлежат немедленному и беспощадному искоренению ;) мне подсветка больше мешает, чем помогает. А там, где она может оказаться полезной, например при правке сложных XML файлов, я использую специализированные редакторы

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

>Ты путаешь термины
Да, ок, я говорил про «обычный режим».

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

>>:help langmap

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

И меня с разморозкой. Включили, наконец! Я выше отписался, что работает.

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

Аналогичные ощущения.

За такое в открытый космос запускать надо... без скафандров.

OldFatMan
()

Прекрасный редактор. Полтора года назад заставил себя в нем разобраться, теперь только в нём и работаю. Были опасения насчет перехода с qwerty на dvorak, но всё прошло успешно. Ремапить не стал — jcvp вместо hjkl выглядит странно, но вполне удобно (только L некомфортно под мизинцем сидит, но всё равно обычно используются b/e/w/gg/G, а не посимвольные шаги).

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

>А вы что-нибудь нетривиальное на `vimscript' писали?

Нет, УМВР нормально.

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

Пришлось фиксить, а потом писать с нуля несколько скриптов на vimscript года 4 назад. Тупое глючное УГ

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

>jcvp вместо hjkl выглядит странно
Очень, и даже весьма. На какой же из раскладок получается такое сочетание? (Сам использую упрощённую раскладку дворак).

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

> На какой же из раскладок получается такое сочетание?

Dvorak for Programmers (dvp).

Нижний ряд, первые четыре клавиши: qwerty — zxcv, dvp — 'qjk. Мне казалось, это более-менее обычный Дворак, не? Различия только в цифрах и пунктуации, емнип.

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

>это более-менее обычный Дворак, не?
Да. Просто я думал, что ты оставил стрелки на тех же клавишах, что и hjkl.

емнип.

Если есть интернет — значит, можно нагуглить и wiki dvorak ( http://ru.wikipedia.org/wiki/Клавиатура_Дворака ) и посмотреть разницу, кому надо. ))

Dvorak for Programmers (dvp).

Если не секрет — в чём профит от расположенных не по порядку цифр, зачем было так изгаляться?

http://mkweb.bcgsc.ca/carpalx/?keyboard_layouts — хорошее сравнение раскладок клавиатуры.

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

Если есть интернет — значит, можно нагуглить и wiki dvorak ( ru.wikipedia.org/wiki/Клавиатура_Дворака ) и посмотреть разницу, кому надо. ))

Лень же, да и отсмотрено всё, когда надо было.

Если не секрет — в чём профит от расположенных не по порядку цифр, зачем было так изгаляться?

Резонный вопрос. Поскольку я пишу на питоне (т.е., практически на обычном английском языке), программерский дворак дает очень небольшой профит по сравнению с классическим/упрощенным. А цифры в классической/программерской раскладках расположены вполне по порядку, только своеобразному. И хотя он логичен, для себя смысла не вижу никакого и постоянно путаюсь, поскольку редко приходится эти самые цифры использовать. Возможно, перейду на упрощенный. Изначально основным плюсом было полное несоответствие маркировки раскладке, поэтому был стимул до конца освоить слепой метод. =)

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

До конца освоить слепой метод можно относительно просто: VerseQ. Единственное — нужно после небольшого привыкания отключить экранную клавиатуру. Я именно так и осваивал.

А профит от раскладок дворак и колемак — как минимум в меньшей вероятности заработать туннельный синдром для запястий. Зато добавляет уйму проблем с софтом, рассчитанном на qwerty.

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

> VerseQ

Чем оно принципиально отличается от ktouch, klavaro и компании?

Я, кстати, просто распечатал раскладку и повесил над монитором. Постепенно перестал туда подглядывать.

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

Тем, что в память занимающегося сразу «забиваются» характерные для выбранного языка «аккорды» клавиш. Изучается одновременно вся клавиатура — вначале получается набирать дико медленно; но за несколько учебных часов ставится база. (baverman делал что-то подобное, но мне привычнее старый вариант.)

Я, кстати, просто распечатал раскладку и повесил над монитором. Постепенно перестал туда подглядывать.

VerseQ нужен в основном только на начальном этапе — когда верхние конечности по инерции норовят набирать на qwerty вместо дворака. Привыкнуть к незнакомой раскладке. Потом оставшаяся часть (где и что расположено) учится наизусть, и никаких бумажек над монитором уже не надо.

//всё имхо, естественно.

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

Когда возникла необходимость программировать в visual studio с++, с удивлением обнаружил, что в нем есть возможность прикрутить vim для редактирования текстов! Так что сейчас работаю в Vime и в Linuxe и в Windowse.

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

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

Ну так K52 же отлично работал :)

vi - *nix-овая попса :)

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

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

Существует ли рациональная причина пользоваться hjkl, или это просто дань традициям? Я вот не могу придумать, почему это правильнее jikl.

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

Я вот не могу придумать, почему это правильнее jikl.

Или хотя бы jkl;

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

Существует ли рациональная причина пользоваться hjkl, или это просто дань традициям? Я вот не могу придумать, почему это правильнее jikl.

конечно - можно не переставлять пальцы для скроллинга вообще.

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

Ну в принципе да, вариант. Только это все же слабый плюс, по скорости выигрыша я не ощутил (щас попробовал сравнить), разве что можно считать, что пальцы меньше устают. Но в случает jikl между i и k бегает средний палец - он самый сильный, да и оба положения довольно удобные, так что по-моему преимущество эфемерно.

gaga
()

Ура! Поздравляю разработчиков и пользователей моего любимого редактора.

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

> Существует ли рациональная причина пользоваться hjkl/jikl, или это просто дань традициям? Я вот не могу придумать, почему это правильнее/удобнее стрелочек.

fix.

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

> Существует ли рациональная причина пользоваться vim/emacs, или это просто дань традициям? Я вот не могу придумать, почему это правильнее/удобнее Microsoft(r) Visual Studio(tm).

obvious fix

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

>> ... почему это правильнее/удобнее Microsoft(r) Visual Studio(tm).

obvious fix


бгггг, потому что субъективщина

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

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

Существует ли рациональная причина пользоваться hjkl, или это просто дань традициям? Я вот не могу придумать, почему это правильнее jikl.


Да, это дань традиции, а так же уверенность в том, что такая комбинация окажется на чужом компьютере.

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

Ну да, но я все же останусь на jikl, потому что на других компьтерах вима чаще всего нет, а вот редакторов со стрелочками - полно, и мой мозг на них ломается, если я привыкаю к hjkl.

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

> Ну да, но я все же останусь на jikl, потому что на других компьтерах вима чаще всего нет, а вот редакторов со стрелочками - полно, и мой мозг на них ломается, если я привыкаю к hjkl.

Странно, обычно vi/vim есть везде, а вот все остальное не факт ;)

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

Я тоже так думал, но потом один друг мне рассказал, что бывают другие ОС. Я ему, конечно, не поверил, он что-то невнятно бормотал про какие-то окна, какие-то блокноты, IDE (и причем тут, казалось бы, IDE, когда все уже перешли на SATA), затмения, сетевые бобы, визуальные студии. В общем, я вызвал карету скорой помощи и нас с ним вместе увезли в непонятное место и долго задавали странные вопросы.

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

> обычно vi/vim есть везде

+1, vi есть в даже busybox

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

> Я тоже так думал, но потом один друг мне рассказал, что бывают другие ОС.

То, про что вам рассказал друг нельзя назвать ОС.

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

увы, работать приходится пока в основном именно с этим

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

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

Лопатой по голове гуманнее, чего уж там.

<C-a>

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