Текстовые редакторы Vim и Emacs

Здесь обсуждаются проблемы мироустройства.
User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Wave » Tue 03 Nov, 2015 15:52

Много раз слышал о Vim’е в том смысле, какой это крутой редактор. Чаще всего слышал в паре Vim-Emacs. Всегда при этом слышал, что Vim сложен в освоении, неинтуитивен, но мощен как Годзилла. Дошли руки узнать, что в нём такого.

В священных войнах во имя Vim’а говорится, что:

  1. Vim присутствует из коробки в любой юникс-системе.
  2. Он консольный, что позволяет им пользоваться по ssh и без иксов.
  3. Позволяет работать абсолютно без мыши, а значит быстро.
  4. Vim поддерживает охрененную уйму языков программирования (подсветка синтаксиса, навигация по коду и пр.).
  5. Он умеет всё и больше со строками. Переход в начало слова, в конец слова, дублирование и сортировка строк и так далее, и так далее, и так далее.
  6. Поддерживает макросы-сниппеты-шаблоны.
  7. ?
  8. Profit.

Что требует взамен?
Переключаемые режимы командный и редактирования.
  • С режимом редактирования понятно.
  • Переключаешься в командный режим — и перемещаться по тексту надо не клавишами курсора, возможно, в сочетании с Ctrl, Shift и прочими, а клавишами h j k l. Вместо того, чтобы нажать F2 или Ctrl+S для сохранения, нужно в командном режиме набрать… Там двух- или трёхбуквенные команды типа ":wq" - выход с сохранением, ":q!" - выход без сохранения..

Ну так извините…

1. Редактор «из коробки» нужен только для того, чтобы срочно-мгновенно прочитать что-то, в крайнем случае тут же одно слово поправить. В любой системе, в которой предполагается работать хотя бы полчаса, любой вменяемый человек какой-нибудь редактор да поставит.

2. Этот пункт нужен только админам. Ну ладно, ещё в программировании иногда случается, что нужно консольный выхлоп отдать в редактор. В общем, этот пункт — преимущество для 0.1% народа. Для остальных — безразлично.

3. Два-три из десяти редакторов позволяют работать абсолютно без мыши, ещё пара — пользоваться мышью раз в сто лет. Замедление работы из-за мыши при должной сноровке такое ничтожное, что им можно пренебречь.

4. Серьёзно? Вы в каком веке живёте? Сейчас редакторов для программистов — что собак нерезанных. И все они поддерживают подсветку сотен языков, навигацию по коду, шаблоны, переходы к объявлениям и прочая-прочая-прочая.

5. Серьёзно? Тот же вопрос про век. Каждый редактор считает своим долгом извернуться похитровыверченней и поддержать операции для работы со строками, которых больше ни у кого нет, а которые есть, скопипастить себе. Половина редакторов типа Notepad++ поддерживают макросы и сниппеты. Большинство поддерживают плагины. Я уж молчу про родной ФАРовский редактор, который, признаем честно, слабоват по возможностям по сравнению с Notepad++ или Sublime Text.

Т.е. я не вижу у Vim’а никаких преимуществ перед тем же Notepad++, из-за которых мне надо было бы запоминать абсолютно непривычные способы работы, абсолютно новые команды вместо вбитых в подкорку горячих клавиш и всё это только для того, чтобы гипотетически (по принципу «лучше день потерять, а потом за пять минут долететь») на 5% ускорить те операции с текстом, которые никогда не были узким местом. Узкое место работы с любым текстом в скорости набора и в продумывании того, что ты хочешь написать.
При том, что привычные способы работы с редакторами работают в 90% оных, а вимовские — только в виме.


Emacs не смотрел, может, там не такая инопланетная логика работы, как в Vim, но упоминаю его тут и адресую тот же вопрос из-за того, что его всегда противопоставляют Vim’у.

Кто что думает?
P.s. Извините, что не в пятницу. Пишу по горячим следам ещё не досмотренного видеообзора.
Пользуюсь ФАРом больше 15 лет © собирательный.

Ariman
Posts: 1111
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 6 times
Been thanked: 22 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Ariman » Tue 03 Nov, 2015 16:19

При всей своей "инопланетной логике" у vim-а иногда просто нет альтернатив. По ssh notepad++ не погоняешь, и мыши там тоже нет. При работе с удаленными серверами практически всегда console-only, а часто ещё и ставить ничего нельзя.

User avatar
HaRT
Moderator
Posts: 7880
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 62 times
Been thanked: 93 times

Текстовые редакторы Vim и Emacs

Postby HaRT » Tue 03 Nov, 2015 16:21

HaRT wrote:Source of the post Заранее предостерегаю горячие головы от развязывания здесь очередной священной войны «VIM vs Emacs».
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Wave » Tue 03 Nov, 2015 16:36

Ariman wrote:При всей своей "инопланетной логике" у vim-а иногда просто нет альтернатив. По ssh notepad++ не погоняешь, и мыши там тоже нет. При работе с удаленными серверами практически всегда console-only, а часто ещё и ставить ничего нельзя.

Повторюсь, это преимущество только для тех, кому приходится работать по ssh, а таковых подавляющее меньшинство. Лично мне не приходилось ни разу. Т.е. для меня этот довод — ни разу не решающий.

HaRT wrote:Заранее предостерегаю горячие головы от развязывания здесь очередной священной войны «VIM vs Emacs».

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

Так Emacs тоже такой инопланетный с командным режимом вместо горячих клавиш?
Пользуюсь ФАРом больше 15 лет © собирательный.

ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

Текстовые редакторы Vim и Emacs

Postby ObSerV » Tue 03 Nov, 2015 16:57

Господи... Вразуми... Почему в форуме фара про vim?
В emacs комбинации. Командного режима, вроде, нет. Не помню точно - смотрел его лет 10 назад.
Сам пользуюсь vim-ом. Убеждать никого не хочу и не буду.
Да и повесить любую команду на любую комбинацию клавиш в виме - тьфу и растереть.

Ariman
Posts: 1111
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 6 times
Been thanked: 22 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Ariman » Tue 03 Nov, 2015 18:04

Wave wrote:Повторюсь, это преимущество только для тех, кому приходится работать по ssh, а таковых подавляющее меньшинство. Лично мне не приходилось ни разу. Т.е. для меня этот довод — ни разу не решающий.
Так, в основном, vim-ом и пользуются те, кому надо работать по ssh (и хвалят его они же). :)

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Wave » Tue 03 Nov, 2015 18:34

ObSerV wrote:Господи... Вразуми... Почему в форуме фара про vim?

Потому что здесь есть раздел форума «О тщете всего сущего». А если серьёзно, мне больше негде было об этом поговорить. В жж меня читают полтора программиста в лучшем случае, в литературных сообществах или сообществах по рукопашному бою вообще без шансов. И т.д..

ObSerV wrote:В emacs комбинации. Командного режима, вроде, нет. Не помню точно - смотрел его лет 10 назад.

Спасибо.

ObSerV wrote:Сам пользуюсь vim-ом. Убеждать никого не хочу и не буду.

Я не в претензии.

ObSerV wrote:Да и повесить любую команду на любую комбинацию клавиш в виме - тьфу и растереть.

Классическое «купи козу — продай козу». Зачем мучиться и много часов составлять все биндинги, чтобы сделать что-то, что уже есть. К тому же особенности режимов всё равно будет не сточить и в основе всё равно будет лежать другая логика.


Ariman wrote:
Wave wrote:Повторюсь, это преимущество только для тех, кому приходится работать по ssh, а таковых подавляющее меньшинство. Лично мне не приходилось ни разу. Т.е. для меня этот довод — ни разу не решающий.
Так, в основном, vim-ом и пользуются те, кому надо работать по ssh (и хвалят его они же). :)

В общем-то это многое объясняет. И вал похвал, и, подозреваю, логику командного режима. Если я правильно понимаю, по ssh есть проблемы с передачей хоткеев с альт, контрол. А тут они не используются от слова совсем.
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
DrKnS
Posts: 4434
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 101 times
Contact:

Текстовые редакторы Vim и Emacs

Postby DrKnS » Tue 03 Nov, 2015 19:13


What we say What we mean

...

emacs is better than vi it's too peaceful here, let's start a flame war

vi is better than emacs it's too peaceful here, let's start a flame war

...


User avatar
cmd.exe
Posts: 313
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

Текстовые редакторы Vim и Emacs

Postby cmd.exe » Wed 04 Nov, 2015 05:49

Я предпологаю:
Cтандартный редактор нас многим неустраивает. Мы боимся что его начнут перелапачивать.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Вместо холивара(Они Мне нравятся по свойму) дам вам документацию на оба редактора.
Vim keyboard shortcuts
Лёгкая обучалка виму на английском
Тут можно научиться виму легко.
Emacs keyboard shortcuts
Bash keyboard shortcuts
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Wave » Wed 04 Nov, 2015 10:54

cmd.exe, спасибо за ссылки. Интерактивная обучалка — действительно клёвая вещь, если надумаю-таки его осваивать. Но меня просто вымораживает, что вместо клавиш курсора надо пользоваться h j k l, копирование-вырезание-вставка не имеют ничего общего с привычными CtrlIns ShiftIns или CtrlC CtrlV, есть специальные команды типа заменить букву под курсором, вместо привычного Del и буква, а всякие хитрые команды типа подвинуться на N строчек выше-ниже имхо вообще бесполезны, проще курсор подвинуть куда надо, чем на глаз определять, на сколько же строк сместиться, потом вводить команду, потом корректировать её, если промахнулся.

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

Вот о чём я! Оно действительно стоит того, чтобы так корячиться? Есть тут кто-то, кто одинаково хорошо владеет и вимом, и каким-то другим (например, фаровским, с макросами, с вдоль и поперёк изученными настройками и хитростями) редактором — может он честно сказать, что в виме его производительность в разы, а не на 5%-10% больше?
Или, там, если вим используется как IDE, то не с ФАРом сравнивать, а с чем-то типа Sublime, Intelij idea и пр..

Да, я увидел (в видеообзоре), что умелый вимер операции над текстом типа замены слова, находящегося через два слова от курсора, проводит быстрей, чем это делаю я в ФАРе (CtrlRight CtrlRight CtrlShiftRight CtrlDel если включены постоянные блоки и печатается новое слово. Хотя постоянные блоки в последнее время у меня почти всё время выключены.), но если так прикинуть, по количеству нажатий клавиш вимер экономит… Ни черта практически не экономит. Зато вимер из обзора печатает со скоростью 500 знаков в минуту, как он сам сказал. Не за счёт ли этого он быстрее меня редактирует имеющийся текст? Про набор нового не говорю, в наборе нового у вима нет разницы с остальными.

P.s. Множественный курсор понравился, в ФАРе его нет. Но есть у многих других.
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
cmd.exe
Posts: 313
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

Текстовые редакторы Vim и Emacs

Postby cmd.exe » Wed 04 Nov, 2015 11:47

Wave, менять раскладку(я про jkl) это моветон для VIM, он предпологает, что вы пишите много и быстро.
Прерост от 15 до 25% по скорости написания и редактирования.
Если кто-то допилит Вим на "Русские бинды" я-бы попробовал, но это станет не нативно понятным.
Speed coding a small virtual machine
Если есть кто-то, кто-бы сравнил все эти редакторы попробовав.

Если ты хочешь быть кодером, ты всегда доростёшь до правильного редактора. (с)
Last edited by cmd.exe on Wed 04 Nov, 2015 12:33, edited 2 times in total.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

Текстовые редакторы Vim и Emacs

Postby ObSerV » Wed 04 Nov, 2015 12:18

Wave wrote:Source of the post Но меня просто вымораживает, что вместо клавиш курсора надо пользоваться h j k l

Ну,положим, клавиши курсора тоже отлично работают...

User avatar
cmd.exe
Posts: 313
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

Текстовые редакторы Vim и Emacs

Postby cmd.exe » Wed 04 Nov, 2015 12:31

ObSerV wrote:Source of the post Ну,положим, клавиши курсора тоже отлично работают...

Ты часто руку сдвигаешь в правую сторону, теряешь клавиши которые под рукой.
Last edited by cmd.exe on Wed 04 Nov, 2015 13:16, edited 1 time in total.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

ObSerV
Posts: 53
Joined: Wed 29 Jul, 2009 06:26
Been thanked: 1 time

Текстовые редакторы Vim и Emacs

Postby ObSerV » Wed 04 Nov, 2015 13:13

cmd.exe wrote:Source of the post Ты часто руку сдвигаешь в правую сторону, теряешь клавиши который под рукой.

Это да :) Я ими и не пользуюсь:) Но альтернатива-то есть.

User avatar
cmd.exe
Posts: 313
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 168 times
Been thanked: 5 times
Contact:

Текстовые редакторы Vim и Emacs

Postby cmd.exe » Wed 04 Nov, 2015 16:57

http://m.habrahabr.ru/post/265197/
Тут хорошо описана схожая со мной позиция.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

User avatar
Wave
Posts: 1693
Joined: Thu 04 Aug, 2005 18:47
Location: Харьков, Украина
Has thanked: 2 times
Been thanked: 9 times
Contact:

Текстовые редакторы Vim и Emacs

Postby Wave » Thu 12 Nov, 2015 16:42

О разном. Нашёл неплохой вебинар про Vim: https://www.youtube.com/watch?v=79OWQ1qJwto
Идёт два часа. Первые полчаса ведущий рассказывает о том, почему Vim.

— Когда кто-то начинает рассказывать вам про то, почему Vim, он всегда начинает не с того. Говорит про плагины и прочее бла-бла-бла. Забудьте про это, потому что в любой коммерческой IDE аналогичные фишки всегда круче. Главное и основное достоинство Vim’а в том, что РЕДАКТИРОВАНИЕ текста (не набор) происходит слепым десятипальцевым методом. Это принципиальный момент, это подход, это суть. Без понимания этого Vim бесполезен, а иногда и вреден.

Вот как-то так. Там приводятся объяснения, сравнения и размышления на тему. Мне кажется, на мой вопрос этот вебинар ответил. Причём, абсолютно без сравнений «Vim круче». Вместо этого о подходах — кому-то подходит так, кому-то этак. То, что в одних отраслях считается хорошими практиками, в других — плохими. И когда сталкиваются двое из разных отраслей и начинают спорить, приводить свои best practices, а оппонент видит worst practices и только укрепляется во мнении, что правильно он в ту отрасль не суётся.

Следующие полтора часа идёт уже именно обзор Vim’а, сейчас смотреть не стал, но потом как-то всё-таки попробую. Не зря же я именно десятипальцевый слепой набор когда-то осваивал.
Пользуюсь ФАРом больше 15 лет © собирательный.


Return to “О тщете всего сущего”

Who is online

Users browsing this forum: No registered users and 1 guest