Одне вікно на проект


9

Я зараз працюю над кількома проектами. Я хочу, щоб один екземпляр Emacs обробляв їх усі. Мені хочеться поведінки, схожої на tmux, де кожне «вікно» (у значенні Emacs) відповідає проектам, що містять буфери файлів, пов’язаних із цим проектом. Є кілька вікон, кожне з яких відповідає проекту, і я повинен мати можливість перемикатися між ними (щось подібне до C-b w)

Ця функціональність вже присутня в якійсь формі? Я думаю, це буде здорово, оскільки інші варіанти є:

  • Відкрийте кілька примірників Emacs.
  • Майте всі файли всіх проектів в одному екземплярі, що робить перемикання буферів болем.

2
Ви керували перспективою щодо управління проектами ?
cutejumper

Спробуйте цю публікацію в Emacs як розширений мультиплексор терміналу : ви отримаєте поведінку, схожу на Tmux. Я просто натрапив на нього, примусив його працювати, і він робить те, що рекламує. Зверху ви отримаєте ace-jump-modeкласне рішення для швидкого перестрибування курсором у буфер (якщо у вас його ще немає).

Якщо ви готові вкласти деякий початковий час налаштування, щоб визначити умови для проектів, ви можете виділити їх по одному кадру та використовувати frame-bufs. Див. Також Як перехопити файл перед його відкриттям та вирішити, який кадр - stackoverflow.com/questions/18346785/… - для відображення буфера в цільовому кадрі, і ви можете frame-buffs--add-bufferспільно використовувати для асоціювання кадру. Ви можете вступати в шлюб frame-bufsз tabbarі асоціювати / видалити буфера динамічно: emacs.stackexchange.com/a/10112/2287
lawlist

Ось посилання на frame-bufsасоціацію буферів із певним кадровим: github.com/alpaker/Frame-Bufs/blob/master/frame-bufs.el
законник

@cutejumper Перспектива ідеальна. Ви можете написати це як відповідь, щоб я міг правильно поставити галочку.
sudeepdino008

Відповіді:


7

Ви можете використовувати перспективу для управління проектами. З його README:

перспектива.el надає кілька робочих просторів (або "перспектив") для кожного кадру Emacs. Це полегшує роботу над багатьма окремими проектами, не гублячись у всіх буферах.

Кожна точка зору складається з конфігурації вікна та набору буферів. Перемикання на перспективу активує його конфігурацію вікна, а в перспективі за замовчуванням доступні лише його буфери.

Існує також інша версія persp-режиму , яка трохи відрізняється від оригінальної. Перспективи поділяються між кадрами, а стани можуть бути збережені на диску.

Якщо ви використовуєте снаряд , також існує перспективна інтеграція .


5

Ви можете спробувати режим брови , який управляє декількома (можливо, складними) макетами вікон. Ви можете перемикатися між конфігураціями вікон за допомогою натискань клавіш, таких як C-c C-w 1і C-c C-w 2.


1
Брови поділяють буфер між робочими просторами. Це може бути небажаним
sudeepdino008

2

Рішення "barebones" може використовуватися C-x r wдля запису поточного стану вікна та C-x r jповернення до попереднього.


2

Я використовую комбінацію пари різних пакетів.

Найголовніше, що я використовую Projectile для роботи над "проектом" і нечіткими знаходженнями файлів. Я використовую кілька кадрів, по одному для кожного проекту, над яким я зараз працюю. Вам дійсно потрібно лише знати C-x 5 2і C-x 5 0створювати / вбивати кадр. Для управління перемиканням між проектами та для збереження стану конфігурації / розбиття вікон я використовую Робочі групи для Windows (для emacs) .

Мені подобається ця налаштування, тому що я можу потенційно поміняти один пакет на інший.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.