LINUX.ORG.RU
ФорумTalks

Защитникам VIMа и противникам Emacs.


0

1

Достаточно долгое время пользовался (и пользуюсь Emacs). Не скажу, что ас уже в этом деле (до разбора по косточкам Elisp дело не дошло), пока хватает встроенного cc-mode. Как обычно, почитав ЛОР на ночь, увидел критику в сторону Емакса, мол, «ему нужны педали», а «ВИМ другой и проще». Ок, думаю, попробую, тем более что не всегда есть в системе первый редактор, а какой-нибудь простенький Вим всегда будет (vim-tiny, к примеру). Дальше vim-tutorial не ходил. И вот почему: я не могу понять тех людей, которым сложно по C-n, C-p переходить, но которые должны по тысячи раз делать:

1. Перейди к строке.

2. Войти в режим I

3. Вставить (удалить и т.п.) что-либо.

4. Перейти в первоначальный режим.

5. Опять перейти на другую строку

6. Перейти в режим insert

...

о Ужас, эти прыжки по режимам просто сносят мозг. Да, переходить можно использую лишь одни клавиши. Но, при этом нужно постоянно переходить из режима в режим. Не не не.

Для _простого_ редактирования _текстов_ имхо вообще хватает mcedit (в консоли) либо kwrite (в иксах).

Другое дело - когда люди на базе вима или емакса начинают делать полноценную IDE. И вот тут уже «на вкус и цвет...»

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

У «классических» редакторов есть один большой недостаток. Дабы передвагаться по тексту нужно использовать

а) обычные стрелки

б) стрелки на доп. панели (те, что под нум-локами).

Это огромный минус. Ибо нужно отрывать правую руку и нести ее далеееко вправо. Быстро устаешь. Ухудшается скорость.

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

Ну, до IDE им обоим далеко, конечно. (хотя, тут тоже споры будут, ведь опять же — все зависит от конкретного языка. Для Lisp — лучшей IDE, чем Emacs нету, а вот для Явы — хоть помри, но в Емаксе гораздо сложнее, чем в Netbeans/Eclipse/IDEA).

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

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

Хотя аргумент понятен, я именно по этой причине спорю с теми, кто предпочитает «мышиный» интерфейс.

hobbit ★★★★★ ()

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

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

> Ибо нужно отрывать правую руку и нести ее далеееко вправо.

А руку на Esc нести не надо? И если что, в Emacs можно перемещаться не снимая рук с алфавитной части (по словам/строкам/s-expr, по крайней мере)

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

> а вот для Явы — хоть помри, но в Емаксе гораздо сложнее, чем в Netbeans/Eclipse/IDEA

Пожалуй, да.

Поэтому я, делая что-то на Qt, пользуюсь Qt Creator и не жужжу...

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

>Другое дело - когда люди на базе вима или емакса начинают делать полноценную IDE.

Вот зачем это делать я понять не могу.

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

> Емаксе гораздо сложнее, чем в Netbeans/Eclipse/IDEA

Сложнее — не значит хуже. Цифры тоже можно палочками рисовать, только дальше арифметики чисел более 10 выйти уже трудно

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

>А руку на Esc нести не надо?

ну, я как бы как раз про это же и пишу. На емаксе можно этого не делать. (хотя и для ВИМа есть супер хак, я на искейп не тыкал, использовал Ctrl-[ ). Лучший заменитель ;)

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

>У «классических» редакторов есть один большой недостаток. Дабы передвагаться по тексту нужно использовать

а) обычные стрелки


б) стрелки на доп. панели (те, что под нум-локами).


с) мышку для извращенцев

d) хорошо настроенный тачпад

в пункте d даже руки не надо от клавиатуры отрывать.

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

> Вот зачем это делать я понять не могу.

ХЗ зачем, но я наблюдал своего коллегу, который в виме что-то такое на C++ с нечеловеческой скоростью правит. Дерево проекта есть, подсветка сиинтаксиса есть, фолдинг есть, ему удобно. Если не присмотришься, даже сразу не понятно, что это вим...

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

А чем Qt Creator лучше Emacs-а?

Могу сказать, чем для меня Eclipse лучше.

1. Моментальная подсветка всех ошибок компиляции в проекте.

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

3. Рефакторинг. Реально я чаще всего использую rename, остальное гораздо реже, и без него в принципе можно обойтись.

4. Навигация по коду. F3 и залазишь в любой метод.

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

>Сложнее — не значит хуже.

Для конкретных языков, я бы сказал — теряется удобство. А это осное, в выборе инструмента. (простой пример: не всегда хочется писать скрипт сборки для ant, тот же Eclipse сделает это за вас.)

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

Мне не хватает возможностей Emacs-а. В vim-е это всё гораздо быстрее и не задумываясь происходит. Нужно это не так часто, но когда нужно - это очень помогает.

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

У меня тоже достает. Но... основное положение кисти (asdf - jklm) теряется, кисть все равно нужно чуток разворачивать. Хотя, может придирки.

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

>Мне не хватает возможностей Emacs-а. В vim-е это всё гораздо быстрее и не задумываясь происходит. Нужно это не так часто, но когда нужно - это очень помогает.

А можно 2-3 навскидку?

zootcat ()

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

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

Потому что надо Synaptics настроить. Тогда совсем другое дело будет )

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

Инкрементация числа под курсором, в vim-е тильда. Всякие мелкие операции, типа вырезать слово, переместитсья вперёд на слово и вставить его происходят проще, что то вроде dwwp. И вообще это разделение на режимы как то помогает с макросами. Перемещение по скобкам - %, в емаксе даже не знаю как.

Вообще в емаксе почти никогда не делал ничего макросами. Как то раз пытался, мне не понравилось и сделал в vim. Мне это надо редко, и если надо - обычно тупо запускаю vim и делаю что надо :)

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

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

Филосифия Emacs состоит в том, что вообще использовать нумерацию строк в коде — моветон, зло. Ибо они часто меняются, и не должны оставаться ассоциации кода с нумерацией строк.

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

> У меня мизинец достаёт до ескейпа без проблем.

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

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

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

Alt-g-g 10

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

Зло, когда на лаптопе кнопка Fn и Ctrl перепутаны. Наверняка, это все от VIMеров идет ;)

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

ну хорошо, в виме можно ставить отметки: тыкаешь m+буква, а потом прыгаешь на нее '+буква. Но тоже предварительно надо выйти из режима редактирования.

demidrol ★★★★★ ()

а вообще только емакс мне понравился как редактор vhdl/verilog. Остальные — просто убогость.

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

>vhdl/verilog

может, может. Но мне кажется, что для этого все-таки лучше подходят именно спец. среды, аля Active VHDL и т.п. Ибо редко пишется просто код/

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

У меня мизинец достаёт до ескейпа без проблем. Ничего никуда нести не надо.

Адепты Ъ-редакторов за долгие годы мутировали, и теперь вместо пальцев у них растут щупальца.

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

Цитируем zootcat

Active VHDL

кажется, оно платное. А редактор в xilinx ise — это типа блокнота с подсветкой синтаксиса, который разве что может блоки комментить.

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

>А руку на Esc нести не надо?

Нет, не надо. Есть Ctrl+[.

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

> а вообще только емакс мне понравился как редактор vhdl/verilo

Для латеха он еще очень хорош. Настолько хорош, что для редактирования latex текстов я перешел на Emacs очень быстро, чего не скажешь о ЯП.

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

Ну вообще да, пальцы у меня довольно длинные, иногда спрашивают, не пианист ли я.

Legioner ★★★★★ ()

Emacs sucks!

Ибо по дефолту в нем даже нельзя скопировать слово не удаляя его. А еще он не умеет различать «большие» и «маленькие» слова и вообще много каких мелочей не умеет…

fat_angel ★★★★★ ()
Ответ на: Emacs sucks! от fat_angel

Ибо по дефолту в нем даже нельзя скопировать слово не удаляя его.

C-Space M-F M-W?

Вообще одна из вещей, которые мне в нём не нравятся - это вечные префиксы ко всем служебным командам. Педали бы к нему :)

Legioner ★★★★★ ()
Ответ на: Emacs sucks! от fat_angel

Re: Emacs sucks!

> Ибо по дефолту в нем даже нельзя скопировать слово не удаляя его

Хм... из коробки `M-w' не работает?

и вообще много каких мелочей не умеет…

скорее, наоборот

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

хм... у меня справка о функции выдвется по F2, а по M - / идет дополнение слов из текста( это не тоже что по Ctrl + Space). Или о какой вы справке?

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

хотя M-/ мне уже не надо - я настроил еклипс на автокомплит при вводе любого символа так что он всегда автодополняет

sacred ★★ ()

> 1-6

Для этого есть `Ctrl-G [jk]', а также `Ctlr-O [обычная команда]'. Иногда помогает и `visual-block-mode'.

А если перемещаться надо далеко, то более короткие комбинации vim-а как нельзя кстати. (И если действия похожи, можно из записать).

Области эффективного применения пересекаются, у emacs-а она, вероятно, больше, но явно но содержит в себе оную vim-a: взять хотя бы поддержку подсветки синтаксиса (особенно файлов из /etc).

ps... vimpulse, который, очевидно, не для перехода с vim-a на emacs намекает

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

Ну когда выпадающий список функций появляется, при выделении любой функции появляется сразу справка по ней. Можно и F2.

Legioner ★★★★★ ()

а что мешает из режима вставки переходить на другую строку в виме?

pento ★★★★★ ()

<ctrl-o> в режиме вставки и вим емаксоподобен.

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

Ну, до IDE им обоим далеко, конечно.

Да не очень. При чем вим предоставляет весь путь до навороченой IDE самому пользователю.

ados ★★★★★ ()

Что мешает сколько угодно времени провести, не выходя из режима вставки, если нужно вставить разный текст в разные строки?

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