LINUX.ORG.RU

Emacs: как управляться с проектами и файлами в daemon?

 ,


0

1

Я сейчас держу emacs без daemon только потому, что не понимаю, капк можно всем этим рулить из daemon. Например, у меня есть три проекта, в каждом проекте есть locals.el со своими настройками. Когда я открываю сессию с проектом и восстанавливаю сохраненные буферы - я загружаю locals.el

Допустим, есть три проекта. prj1, prj2, prj3. Есть два кейса:

  1. все три проекта открыты в разных инстансах emacs. Каждый подгрузил свой locals.el. Если какие-то файлы вне проектов нужно открыть - открываю отдельный инстанс: поработал с файлами, закрыл инстанс

  2. работаю в одном инстансе. Сессии с проектами открываю. Поработал - закрыл, открыл новый prjX. Если какие-то файлы вне проектов нужно открыть - открываю отдельный инстанс: поработал с файлами, закрыл инстанс

Как это всё реализовать с daemon? Там же все файлы будут падать в общий пул. Да, это всё можно фильровать в ivy-switch-buffer, но а если мне надо поработать одновременно с prj1, prj2 не в одном инстансе, а в двух? не набирать же постоянно в ivy-switch-buffer –> prj1 some_buf, prj2 some_buf

Не понимаю я всего этого

★★★

Возьми doom emacs в качестве готового примера. У него свой модуль управления рабочими пространствами на базе persp-mode, интегрированный с projectile. У каждого проекта свои буферы, локальные настройки и т.д. Открываем проект из projectile, поиск по файлам и т.д. всё работает в пределах проекта. Из коробки удобные биндинги для управления этим всем.

vyazovoi ★★★
()

все три проекта открыты в разных инстансах emacs. Каждый подгрузил свой locals.el

Я не понимаю чего ты не понимаешь. Настройки подгружаются только для файлов в этом дереве файлов. В другом дереве будут применяться другие настройки. Для этого не нужно запускать 100500 инстансов.

если мне надо поработать одновременно с prj1, prj2 не в одном инстансе, а в двух

Непонятно зачем тебе это надо. Что бы что?

Как это всё реализовать с daemon?

Никак не надо. Ты занимаешься хернёй.

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

Я не понимаю чего ты не понимаешь. Настройки подгружаются только для файлов в этом дереве файлов. В другом дереве будут применяться другие настройки. Для этого не нужно запускать 100500 инстансов.

С загрузкой настроек понятно. Вот я открыл три проекта в одном инстансе, потом еще по fs походил и там открыл. Всё это вперемешку хранится в списке буферов. Мне надо быстро переместиться по нескольким буферам одного проекта. Как это сделать? Если я открыл без даемон один инстанс, я могу перемещаться по ним, скажем, по F3, а могу открыть список буферов и среди 5-7 выбрать нужный. А вот когда буферов будет 50, как по ним эффективно перемещаться? Тут бы иметь возможность смотреть буферы онли какого-то проекта

если мне надо поработать одновременно с prj1, prj2 не в одном инстансе, а в двух

  • Например deprecated проект и новый
  • Например какой-то функционал подсматривается с другого проекта
  • Например смотрится какая-то документация с другого проекта
serg002 ★★★
() автор топика
Ответ на: комментарий от soomrack

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

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

Cпасибо! Надо посмотреть! Использование без doom есть какая-то документация? Или смотреть на странице плагина?

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

На мой взгляд – хорошая, если занимаешься совершенно разными вещами. У меня есть пользователь для кодинга, для science, и для серфинга по всяким развлекательным сайтам, для архивов, …

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

Мне надо быстро переместиться по нескольким буферам одного проекта. Как это сделать?

projectile, treemacs, persp-mode

вот когда буферов будет 50, как по ним эффективно перемещаться?

У меня открыто до 400 буферов из 20 разных реп и я вполне эффективно между ними перемещаюсь используя helm + projectile

Ещё нужно отметить 2 вещи. Можно сохранить раскладку окон в регистр и быстро переключиться на неё. Также бывает удобно открыть несколько фреймов чтобы работать параллельно с несколькими проектами не заморачиваясь переключением раскладки окон.

Разница в том, что фреймы это один инстанс и буферы общие, а вот раскладка окон разная.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 3)