LINUX.ORG.RU

Скрипят зубы когда редактирую в emacs

 , , , ,


0

2

Здравствуйте. Не могу редактировать в емаксе из-за непрекращающегося стресса, вызванного, видимо, глубоким непониманием философии GNU или типа того.

Как редактировать в emacs и быть счастливым?

Вот лишь некоторые явления, от которых скрипят зубы и повышается ЧСС:

Когда курсор стоит на первой букве в строке, в нормальных редакторах Backspace удаляет 4 пробела (точнее один отступ). В емаксе удаляется 1 пробел. Интуитивно кажется, что Ctrl-Backspace do the job - но и тут емакс подложил свинью - он удаляет не только ВСЕ отступы, но и последнее слово в предыдущей строке!

Когда курсор в конце строки, нажатие Del в нормальном редакторе перенесет нижнюю строку вверх к курсору, любезно удалив отступы в начале строки. Emacs, аки notepad.exe, отступы отставит. И даже попытка выделить эти отступы привычными Ctr+Shift+Right зафейлится - вместе с пробелами выделится первое слово!

Более того! Нажатие Ctr+Shift+Left нихрена не антагонист Ctrl+Shift+Right! Оно снимет выделение только с части слова (до символа «_», например)

Нельзя просто взять и удалить/скопировать строку

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

- не знаю, что есть что под капотом машины, и вообще боюсь его открывать

:-( (нет машины и не планирую)

- без понятия, что такое диаграмма Герцшпрунга-Рассела

:-( (первый раз слышу, нет, серьезно)

не осилил Емакс

:-( (молодой был, глупый. Если уж выбирать из треша/угара/содомии - то лучше vim)

Фэйл, чо. Остальное - изи, а вот это ты меня сейчас заугнетал, чувак.

Pinkbyte ★★★★★
()

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

Просто интересно, а ты на каком языке программируешь? У меня тут отмечено, что ты вебом занимаешься. Php, JavaScript? Для них я бы предпочел Atom или даже Microsoft Visual Studio Code

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

Из-за того, что в емаксе нет редактора текста, я так и не смог перейти на него с vim. А когда-то я пытался это сделать с выходом каждой новой версией. В итоге я осознал, что хоть емакс и очень крут, но он не для меня.

andreyu ★★★★★
()

У меня backspace в c-mode удаляет весь отступ аж до конца предыдущей строки.

Думаю пользоваться емаксом без знания его elisp-а нельзя.

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

Каждому свое. Попробуй spacemacs, может понравится.

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

Из-за того, что в емаксе нет редактора текста

Это не в емаксе нет редактора текста - это у тебя мозгов нету.

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

А чому тогда сразу Vim не заюзать. В общем, как я понял, надо осиливать elisp чтобы успешно справляться с сабжевыми задачами. Повременю пока с этим

makoven ★★★★★
() автор топика

Смотри в сторону hungry-delete.

Нельзя просто взять и удалить/скопировать строку

composable.el позволяет проводить действия со строками, абзацами, списками и буферами.

Еще настоятельно рекомендую смотреть aggressive-indent.

feofan ★★★★★
()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от Psych218

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

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

Мой младший сын ползает по клавиатуре, набирая в Емаксе лисповый код, который потом компилируется.

а, так вот как пишутся лисповые проекты... не удивительно что они сливаются ))

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

_нужно_ настраивать все под себя, как тебе удобнее, в этом то и прелесть

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

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

Это не в емаксе нет редактора текста - это у тебя мозгов нету.

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

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

я думаю в vim'e похожая ситуация

Да вообще-то диаметрально-противоположная.

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

А чем крут? Мне бы без толстоты и зелени хотелось услышать, в чём Emacs ОПРЕДЕЛЁННО удобнее vim. Вот так удобнее, чтобы и те, и те сказали — да, «ето так», emacs и правда в этом удобнее vim'а. Максимально объективно, пожалуйста. Не холивара ради.

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

Не холивара ради.

Не верю, но отвечу - интеграция с дебагерами у emacs сильно лучше всего того, что есть в vim.

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

Ну как сказать.
Вин легкий, как раз в ОЗУ умещается, нету обработчиков всяких лиспов.
Намного более приятный редактор, привязан к клавиатуре vt100...

Как там в 1978году на VAX/PDP?

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

Это похоже на то, что, например, выдают дебаггеры продуктов JetBrains (это которые пилят пхп-шторм и пи-чарм)? Почему они — до того, как пересел на вим пользовался ими. В чём конкретно интеграция лучше? Сам я емакс видел только на картинках.

anonymous
()

Нельзя просто взять и удалить/скопировать строку

Вот так и переходят на Vim.

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

Ради интереса спросил гугл — как удалить строку в emacs, и только спустя пару ссылок нашёл совет: C-c C-u kill-shell-input Стереть текущую строку.

Таки это правда удобнее вимовского «dd»?

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

Да ну, памяти то всего 256КБ, куда ему?

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

А чем крут? Мне бы без толстоты и зелени хотелось услышать, в чём Emacs ОПРЕДЕЛЁННО удобнее vim.

Думаю на этот вопрос лучше всего смогут ответить пользователи емакс. Мне же емакс нравится за колорер, конфигурабельность, лучшую поддержку отладчика.

Максимально объективно, пожалуйста.

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

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

В чём конкретно интеграция лучше?

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

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

Мне бы без толстоты и зелени хотелось услышать, в чём Emacs ОПРЕДЕЛЁННО удобнее vim.

1. работа с большими проектами, а не просто с парой файлов

2. поддержка языков (всякое автодополнение/рефакторинг/отладка, а не просто подсветка синтаксиса)

то есть использование как IDE, ОС и прочее «one tool to rule them all»

в роли чисто редактора vim лучше

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

Например

Продукты JetBrains не использовал, но по картинкам похоже.

В чём конкретно интеграция лучше?

Я вимом давно пользуюсь только для правки конфигов на сервере, и сам в нем дебагер не использовал, мне жаловался знакомый вимер. А в emacs для взаимодействия с дебаггерами есть специальная подсистема и по моему (и не только) опыту, там всё сделано вполне удобно. Я не могу придумать чего-то такого, что нужно от дебагера и чтобы этого нельзя было сделать в emacs.

Ну а выше тебе отвечал вимер.

feofan ★★★★★
()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от anonymous

в роли чисто редактора vim лучше

Я бы сказал так: вим с пустым конфигом лучше, чем emacs с пустым конфигом.

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

Хорошо сказал. Теперь всё для меня прояснилось.

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

1. работа с большими проектами, а не просто с парой файлов

Вот здесь подробнее. Чем именно? Там особый подход к организации работ? Или есть аналог Ctrl+P вима, который по одному хоткею ищет везде и позволяет прыгнуть куда хочешь?

anonymous
()

Скрипят зубы когда редактирую в emacs

Бруксизм. Завязывайте с амфетаминами.

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

Или есть аналог Ctrl+P вима, который по одному хоткею ищет везде и позволяет прыгнуть куда хочешь?

И такое есть, надо только подключить helm-gtags и настроить комбинацию

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

Может быть стоить немного почитать документацию к емаксу? Пройти туториал например?

Аналог вимового dd это C-S-backspace. Есть ещё более софт-вариант: C-k который удаляет от курсора до начала следующей строчки.

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

Во-первых ваш CTRL-P[1] безбожно устарел. Ему на замену пришёл Unite[2], который вроде как тоже устарел, а сейчас самый модная автодополнялка в виме, это denite[3]. Давно не пользовался вимом, поэтому не сильно в курсе.

В емаксе есть три популярных completion engine, т.е. менюхи, которые единообразно помогают где-нибудь и что-нибудь искать.

Это helm[4], ivy[5] и родная система. Хельм — это большой, жЫрный монстр, который крайне фичаст, быстр и бодр. ivy — это попытка сделать тот же хельм, только не таким жЫрным. Ну и родная система для старообрядцев.

o Ссылки [1] https://github.com/kien/ctrlp.vim [2] https://github.com/Shougo/unite.vim [3] https://github.com/Shougo/denite.nvim [4] https://github.com/emacs-helm/helm [5] https://github.com/abo-abo/swiper

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

Evil-mode же.

Да, это хороший плагин. Но это как резиновая женщина. Если переходить на емакс, то придерживаться его концепции.

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

Давно не пользовался вимом, поэтому не сильно в курсе.

Долгое время использовал ctrlp. С unite у меня не срослось.
В итоге перешел на fzf вместо ctrlp - вот этим решением очень доволен.

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

Вим с пустым конфигом оптимизирован на работу в batch-режиме.

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

Я лично пользуюсь такими фичами в емаксе, которых я не смог найти в виме:

о Локальные настройки файловой иерархии (он же dir-local)

Это небольшой лисповый файлик, в котором можно складировать различные настройки локальные для этой файловой иерархии. Т.е. можно в одном проекте иметь несколько разных под-проектов, в каждом из которых будет свои настройки кодинг-стайла, идентации и так далее. У этих подпроектов могут быть свои под-проекты, и так далее. При этом это просто работает после пары кликов по гуям.

o Comilation-mode

Ты говоришь, я хочу что-то сделать и вывод поместить в compilaition буффер. (aka M-x compile). Далее ты вводишь команду, её вывод раскрашивается и наполняется ссылками. Не обязательно это должно быть вывод компилятора. Я иногда строчку небольшие поисковые скрипты которые детектят разный мусор и мис-юз в проекте (шланг во все поля), и выводят результаты. Дальше у меня есть пачка ссылок, по которым можно быстро переходить непосредственно к файлу, строчке, символу. Можно компилировать по ssh, и переходить к локальному определению. Или открывать файл по ssh через TRAMP. Введёные комманды кэшируются для проекта, можно задавать свои через тот же dir-local.

o magit-mode

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

o Серверная природа емакса (не совсем про проекты)

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

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

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

Однако я тоже в итоге решил что всё же стоит использовать родной редактор и концепции емакса. Не могу сказать что я как-то сильно потерял в функциональности. Особенно радует multiply-cursors, который может делать гораздо больше чем вимовый visual-block.

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

Если переходить на емакс, то придерживаться его концепции.

Зачем?
ИМХО сила Emacs в Emacs Lisp'e, а придерживаться надо самой удобной для себя концепции в любом случае.

И где противоречие?

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

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

По мне, так это худшее решение - ни рыба, ни мясо.

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

не смог найти в виме:

о Локальные настройки файловой иерархии (он же dir-local)

В вим это .exrc (небезопасно, зато уже встроено) или один из плагинов localvimrc.

o Comilation-mode

:make и связанные с ним опции.

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