Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2007-07-11 02:07:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: sick
Музыка:Eloy - INSIDE
Entry tags:linux

Sound in Linux
The Sorry State of Sound in Linux

В подробностях излагают историю поддержки звука
в Линуксах. Кто работал, поймет.

"Усердие все превозмогает; бывает, усердие
превозмогает и рассудок".



(Читать комментарии) - (Добавить комментарий)


[info]yushi
2007-07-29 04:22 (ссылка)
Вместо регулярных выражений должен быть встроенный парсер в стиле СНОБОЛ 4.

А в чём принципиальное отличие? По-моему, это регулярные выражения и есть, только с громоздким занудным синтаксисом.

Прикольная штучка. И мальчики, которые ее написали, тоже прикольные.

Ага. Тамошний генеральный директор, как вы, возможно, поняли — сын Раскина. Того самого.

Вы правда не понимаете, чем они отличаются?

Правда не понимаю.



  • Интерфейс Emacs единообразен внутри себя — зная некоторые принципы, можно догадаться, как вызывается то или иное действие; в vi это не так. Например, одни и те же клавиши с Ctrl вызывают перемещение на символ, а с Alt — на слово.
  • В Emacs нет необходимости для любой ерунды вываливаться в "командный режим", все действительно часто используемые функции повешены на клавиатурные привязки. А если уж командная строка понадобилась, она вызывается по Alt-X, и не надо снимать руки с основной клавиатуры.
  • Кстати, Emacs вообще единственный редактор, позволяющий открыть, набрать, отредактировать, сохранить и закрыть текст, вообще не отрывая руки от основного блока клавиатуры. Я печатаю десятью пальцами, вслепую, и в русской, и в латинской раскладке. При этом я очень нетерпеливый человек. К тому же, как большинство русских, выполнять большинство задач (по крайней мере, требующих написания текста, а не кода) я начинаю через день после дедлайна. Поэтому я, как правило, набираю текст так быстро, как только могу. Необходимость тянуться ко клавишам со стрелками, PgUp/PgDn, Esc, а тем более к мышке (хотя последнее уже не про vi) реально отжирает существенное время и очень бесит.
  • Emacs очень хорошо документирован — в любой момент можно стандартным способом поинтересоваться, что происходит, и получить ответ.


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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-30 00:34 (ссылка)
«Простите, это частная драка, или каждый может вступить?» (c)

> Необходимость тянуться ко клавишам со стрелками [...] Даже кажущиеся на первый взгляд дикими решения
> (например, рекомендация не использовать кнопки со стрелками для перемещения курсора) в итоге оказываются
> наилучшим способом организации работы.

А что, разве у меня одного в vim'е hjkl работают? :-0

С уважением,
Гастрит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2007-07-30 00:46 (ссылка)
Каждый, каждый.

А что, разве у меня одного в vim'е hjkl работают? :-0

Работают-то они у всех. Но:

  • для перехода в командный режим всё равно придётся тянуться к Esc,
  • сам факт переключения режимов отнимает достаточно много времени,
  • в отличие от Emacs, клавиатурные привязки не единообразны: переход на символ/на слово, в начало строки/в начало предложения выглядят совершенно по-разному.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-30 01:57 (ссылка)
> для перехода в командный режим всё равно придётся тянуться к Esc,

Не поспоришь. Хотя лично для меня (впрочем, не могу похвастаться тысячью символов в минуту десятью пальцами слепым методом) это трудности не составляет. Кстати, краем уха слышал, что в Emacs тоже нередко приходится тянуться к Ctrl и Alt — меня верно информировали? :-)

В принципе, сам-то я holy wars люблю :-) Но вот конкретного мордобоя vi vs emacs не понимаю абсолютно. Насколько я могу судить, оба класса редакторов ориентированы не на "чайников" и предполагают необходимость выучивать определённый набор базовых команд, без которых в них делать нечего в принципе. При этом если некто вызубрил vi'шные клавиши на уровне собаки Павлова, то ему заведомо плевать на то, что они выглядят "по-разному" — он их просто знает, и всё тут. Если же некто бегает от всех клавиш, как чёрт от ладана — то он, имхо, будет набирать не в Emacs, а в M$ Word :-) Так что Ваш третий аргумент легко можно отспорить.

Для меня, например, в выборе vim'а основную роль играют следующие чисто субъективные обстоятельства:

1) Основы vi'шных правил приличия мне вбили ещё на четвёртом курсе, а дополнительно осваивать emacs мне элементарно лень.

2) Суммарный объём vim-common+vim-runtime+vim - порядка 15 метров, в то время как один только emacs21-common занимает 37 оных.

Так вот не могли бы Вы объяснить, чем же Emacs (про который я отнюдь не хочу сказать ничего плохого — я его просто не знаю) действительно столь принципиально лучше vim'а, что я (подчёркиваю: не Вы, а именно я) должен на него переползать при всех вышеуказанных данных моего анамнеза и предубеждении против излишне "жирных" программ?

С уважением,
Гастрит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2007-07-30 15:52 (ссылка)
в Emacs тоже нередко приходится тянуться к Ctrl и Alt — меня верно информировали?

Ага. Но вот лично мне нажимать Ctrl и Alt куда удобнее Esc, например.

Основы vi'шных правил приличия мне вбили ещё на четвёртом курсе, а дополнительно осваивать emacs мне элементарно лень

(не удержусь-таки; в порядке демагогии) Э, если я правильно понимаю — в том же курсе, где используется VAX VMS? Что же вы по тем же причинам не пользуетесь VAX VMS?

Так вот не могли бы Вы объяснить, чем же Emacs (про который я отнюдь не хочу сказать ничего плохого — я его просто не знаю) действительно столь принципиально лучше vim'а, что я (подчёркиваю: не Вы, а именно я) должен на него переползать

Тут мне трудно ответить — я не настолько хорошо знаю vim: сейчас погуглил и понял, что многие вещи, которые я считал эксклюзивной фичей Emacs, в vim тоже реализованы (а уж насколько адекватно — мне смотреть лень). Наверное, расписывать что-то словами здесь не очень осмысленно. Если бы у меня была задача перетащить какого-то пользователя vim под Emacs, я бы скорее показал ему быструю и эффективную работу в Emacs (что-нибудь вроде отладки большого программного проекта или вёрстки в LaTeX большой, разбитой на десятки файлов книжки с кучей формул) и спросил бы, 1)хочет ли он делать такую работу так же быстро и эффективно, 2)способен ли он этого добиться под vim (и ценой каких затрат сил и времени).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-30 19:38 (ссылка)
> Ага. Но вот лично мне нажимать Ctrl и Alt куда удобнее Esc, например.

Вопрос вкуса. Кроме того, vi не виноват, что с 76-го клавиатура несколько поменялась :-)

> я правильно понимаю — в том же курсе, где используется VAX VMS

Это не демагогия, а дремучее невежество! :-)) VAX'ы были на втором курсе, а vi прилагался в качестве принудительного ассортимента к HP. У [info]zmey бы проконсультировались, что ли ;-)

Но про VAX я даже отвечу. Не пользуюсь я ими, главным образом, за физическим отсутствием таковых — чего про vim сказать нельзя (он-то у меня есть). Возможно, не стой передо мной сия главная проблема, встала бы другая (недостаточность ресурсов оного VAX'а с точки зрения интересующих меня задач) — и тут опять же vim оказывается в несколько другом положении (ну, не стесняет меня его "неэргономичность").

> Если бы у меня была задача перетащить какого-то
> пользователя vim под Emacs, я бы скорее показал ему
> быструю и эффективную работу в Emacs

Логично. Однако самый большой программный проект, с которым лично мне приходилось иметь дело, едва тянет на 300 килобайт кода, а в плане текста я набираю преимущественно изолированные статьи, а не «Principia Mathematica» (из чего следует, кстати, что всех возможностей того же vim я могу попросту не знать — а иначе сравнение может оказаться не вполне корректным). Впрочем, мне-то в этом плане просто: я ни от чего не зарекаюсь, и если действительно вдруг выяснится, что для каких-то моих целей Emacs принципиально превосходит vim — с лёгкой душой на него переползу. Но вот зачем устраивать вот это (http://www.michael-prokop.at/computer/images/vi-emacs-final.png), при любом раскладе не понимаю :-)

С уважением,
Гастрит

(Ответить) (Уровень выше)


[info]pzz
2007-08-04 01:31 (ссылка)
А в чём принципиальное отличие? По-моему, это регулярные выражения и есть, только с громоздким занудным синтаксисом

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

Интерфейс Emacs единообразен внутри себя — зная некоторые принципы, можно догадаться, как вызывается то или иное действие; в vi это не так. Например, одни и те же клавиши с Ctrl вызывают перемещение на символ, а с Alt — на слово

То же самое в vi. Только комбинируются не действия с клавишами-модификаторами, а, например, motion commands с действиями.

В Emacs нет необходимости для любой ерунды вываливаться в "командный режим", все действительно часто используемые функции повешены на клавиатурные привязки. А если уж командная строка понадобилась, она вызывается по Alt-X, и не надо снимать руки с основной клавиатуры

Это не так уж и неудобно иметь командный режим. Только в vi работают по-другому. Основной режим - командный, а в режим вставки входят время от времени. Наличие режимов четко очерчивает начало/конец команды и хорошо сочетается с повторами и т.п.

Кстати, Emacs вообще единственный редактор, позволяющий открыть, набрать, отредактировать, сохранить и закрыть текст, вообще не отрывая руки от основного блока клавиатуры

У vi все то же самое. Клавиши движения курсора и т.п. продублированы на основном блоке клавиатуры (вернее, они находятся на основном блоке клавиатуры, и продублированы на блоке стрелок).

Emacs очень хорошо документирован

vi тоже :-)

Вот целая поэма про vi, написанная чуваком, который делает свой маленький бизнес на том, что аккуратно воткнул эмулятор vi в качестве редактора в Visual Studio (т.е., он там полностью интегрирован, а не примочка сбоку), а теперь пытается сделать то же самое с Вордом и Оутлуком :-)

(Ответить) (Уровень выше)


(Читать комментарии) -