LINUX.ORG.RU

emacs, псевдопрозрачность и работа с server-clients

 , , , ,


0

2

Есть ли способ запихнуть картинку в фон? Без высчитывания позиции? Вот как пример решения в ST - https://st.suckless.org/patches/background_image/

И второй вопрос знатокам. Совершенно не применял технологию сервер и клиенты. После просмотра Protesilaos Stavrou и обдумывания, сразу стало понятно, что занимаясь производством метана программированием на многомониторных системах, Vim/Nvim сосёт проигрывает.

Поделитесь историями успеха применения emacsclient, как основного редактора в системе. Какие прописали aliases для открытия в терминале или полноценно в графическом режиме, как вы работаете с буфером? Я пока C-x,k и комбинация закрытия окна, так как сижу в тайловом окружениии. Может быть есть другой способ, я пока новичок



Последнее исправление: Neuromagus (всего исправлений: 4)

Очень обширная тема. Требуются уточнее, что конкретно надо, а то у меня конфигов файлов десять, и все под разные аспекты, и постить их муторно. Терминал у меня забит на F9 shell,F12 - вызов файлового менеджера dir, f2 - боковая панель файловое дерево проекта, f3 - структура файла (функции,классы, переменные), f4 - запуск файла, обычно фильмы так смотрю. f7 - смена языка проверки орфографии, f8 - проверить орфографию слова

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

Сначала надо псевдопрозрачность в граф режиме (натянуть на фон картинку).

Потом историю успеха работы с emacs в качестве сервера. Сам сервер запускаем init (systemd или альтернативы), а на emacsclient делаем связки, как пример:
ee - ‘emacsclient -nw’ для запуска в терминале или без иксов
eo - ‘emacsclient -C -e… …’ для чего-то.
И так далее, на что хватит фантазии.

Я пока многое делаю средствами системы. eshell нравится интеграцией lisp. Но пользуюсь st или urxvt. файловый менеджер тоже системы - nnn.

f7 - смена языка проверки орфографии, f8 - проверить орфографию слова

Вообще, есть реализация этого весего добра средствами emacs - EXWM. Может надо наворачивать в его сторону… А вот это круто. Надо будет и самому накрутить. Я пока только EN проверяю.

Neuromagus
() автор топика
Последнее исправление: Neuromagus (всего исправлений: 1)

@mrjaggers, дорогой ты мой почитатель. Я так понимаю - это vim реакция ;)

Я могу пояснить. Открой мне файлы пректа с помощью vim на несколько мониторов. И чтобы это было связно. Я, меняя в одном, могу увидеть изменения в другом. Когда ты это сделаешь на простом уровне средствами WM, приходи.

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

с картинкой без понятие - мне это не интересно. С запуском все просто, есть скрипт который повешан на комбинацию клавиш. Скрипт выполняет следующие:

  1. проверяет запущенный наличие запущенного emacs –damom

1.1 если да - то стартует emacsclient -c

1.2 если нет выполняет emacs –daemon, дожидается запуска и стартует клиент

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

с картинкой без понятие - мне это не интересно.

Жаль. Плюс они таки запилили нативную в 29 версии…

А скриптец прошу показать. И как у тебя это дело реализовано? на уровне старта системы или в самом Emacs? Если в самом, то чем быстро вносишь правки в файлы? Какой редактор? Надеюсь, не Nano?

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

И ещё вопрос. А версия, версия то какая? Если новая, то ты используешь встроенные решения или проверенные сторонние? Как пример - LSP или Eglot или вообще отдельные моды, tree-sitter или major-mode etc?

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

, а дома emacs,пока, просто стартует вместе с wm.

Ага. Значит, есть другой редактор на правку конфигов. Да, DWM - хороший выбор. Я сам иногда использую, чаще Xmonad (комфорта больше), если нет проблемы установить бинарый GHC.

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

версия 29, использую lsp, eglot - я как то не понял, не работает он у меня нормально. tree-sitter (не использую) - при попытке использовать - сыпятся ошибки (в neovim у меня таже херня была, было интересно попробывать, там не давно пакетик какой то у них вышел, на вроде eglot, у меня не до конца не взлетел), возможно это чисто проблема gentoo.

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

если я в голой консоли (X не запущены) - я использую vim, поправить, быстренько, конфиг моих знаний хватает , если в X - то emacs. Причина - тема kooten из консоли выглядит просто отвратно. А как запустить emacs в консоле, но чтоб он игнорил тему - я не выяснял, проще основы vim освоить, для мелких задач.

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

Ээ, нет. В Gentoo как раз завести проще простого. Надо сделать вот так: https://www.masteringemacs.org/article/how-to-get-started-tree-sitter

Или поставить пакет со всеми либами по грамматике - https://github.com/emacs-tree-sitter/tree-sitter-langs

Ну а eglot пока докручивают документацию. он очень просто включается, но вот с серверами документация хромает.

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

В jmacs joe мимикрирует под emacs. Все клавиши и многие сочетания - как у Бати. Написан на Си, themes for 16,256, truecolors, без зависимостей, поддержка буфера обмена, маленький размер, мощный файл настроек.

Ну, каждому своё.

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

есть пример как его настроить. Мне надо чтоб он понимал bash(это я уже посмотрел вроде может), yaml,toml,ini,comfig и json хотелось бы

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

Всё там понимается. https://joe-editor.sourceforge.io/4.6/man.html#initialization-file-loading-sequence

Самодокументирован. Настройки уровня «включу это и это». Он интуитивный.

Про мимикрию:

Much of the look and feel of JOE is determined by its simple configuration file «joerc». Several variants of the editor are installed by default in addition to «joe»: «jmacs» (emulate GNU-EMACS), «jstar» emulate WordStar, «jpico» emulate the Pine mailer editor PICO and «rjoe»- a restricted version of JOE which allows the used to only edit the file given on the command line. JOE is linked to several names.

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

С LSP надо самому пробовать, что для тебя лучше. А вот tree-sitter - это очень большое изменение в Emacs экосистеме. В лучшую сторону. Вот только путь этот длинный. Надо многое переписать.

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

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

Как попробовать? Если на gentoo - собрать 29 версию и добавить (add-hook 'my-best-lang-mode-hook 'eglot-ensure). Всё.

По производительности: в gentoo добавь use flags:

sys-devel/gcc jit
app-editors/emacs jit

Даже на lsp-mode будет прирост, но для встроенных - ощутимейше.

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

Спасибо, но я уже накрутил как надо, убрав прослойку в виде другого редактора. У меня теперь везде emacs.

https://www.emacswiki.org/emacs/EmacsAsDaemon#h5o-6

Я поправил свою тему для работы в терминале и сделал aliases

alias ii='emacsclient -c -n'
alias uu='emacsclient -c -t'
Neuromagus
() автор топика
Ответ на: комментарий от Neuromagus

Проверил, в общем действительно с jit - сыпит варнингами, постоянно, работать нельзя. Ну и попробовал eglot, общие впечатления:

  1. вроде не тупит.
  2. если сервера нет - ставь его вручную, не удобно, у lsp - этот процесс автоматизирован.
  3. Если нет нужного ситтера - не понятно как его поставить и куда.
  4. То что он видит проект сразу - радует (возможно в более сложных придётся прикручивать projectile ).
  5. flymake - удручает, у lsp это сделано лучше (индикация текста ошибки, и минибуфер с деревом ошибок)
  6. не нашёл аналог lsp-treemacs-symbols, он не сильно нужен, но иногда пригождается
  7. Радует что можно редактировать файлы, без регистрации проекта

В принципе, жить можно, но немного печально

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

В принципе, жить можно, но немного печально

Да.

, в общем действительно с jit - сыпит варнингами, постоянно, работать нельзя.

Очень странно. А без native скорость падает в несколько раз. Прямо на глаз заметно.

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

ну может потом пропатчат

Проблемы на вашей стороне, Шеф. Это уже вторая версия Emacs. С 28 полная поддержка. Есть 2 опции компиляции из el в gcc. Полная или частичная. Твой LSP с полной - нормально можно пользоваться. С частичной - можно пользоваться. Без неё - я даже не знаю.

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

да не уверен, он орет на пакеты из melpa/elpa где то версия функций не подходит, где то длина строки, и т.п, а в итоге пользоваться нельзя, так как на каждый чих выскакивают ворнинги, возможно если взять бинарную версию там все ок. Только что дважды попробывал разные комбинации флагов.

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

Это конкретно твой init я пользовался многими дополнениями, проблем нет, минибуфер молчит.

Что могу порекомендовать: заведи чистый конфиг, добавь туда свой LSP, что там ещё по обвязке надо для теста (company, projectile) и запусти на своём проекте. Зацени скорость работы и тишину в выхлопе. Если тебе понравится, то ты потратишь время на перенос по одному-два покета в новый конфиг и выяснишь проблемное место.

Ещё раз. Мир был «до» и после native compile. При компилировании ни одного предупреждения в Gentoo не видел. Ни одного. При работе - тоже. Весь мир Emacs, работающий с LSP, использует нативную компиляцию. Ужи сильно заметно разницу. На сборку самого emacs в gentoo пенять сложно, они даже перевели недавно из тестового в стабильную ветку 29 версию.

Удачи.

Neuromagus
() автор топика