2016-07-19 81 views
1

當使用組織模式和Magit等工具時,模式有時會顯示幫助菜單。例如,組織模式導出將顯示一個不錯的菜單,它接受單個鍵,然後執行一些命令。在Magit中,當查看狀態視圖時,它將接受制表符來擴展階段和提交區域。在Emacs中顯示菜單/幫助屏幕的正確方法是什麼?

對於Git和Org來說,這些區域很適合佔用大部分方便的emacs框架的某些部分。 emacs如何選擇這個?

此外,這些視圖是隻讀的,直到用戶在Magit和狀態視圖的情況下按下標籤。創建這些控制編輯的視圖時是否有最佳做法,但允許模式編輯文件並顯示替代文本?

也許答案是看看這些函數A,B和C.這很好,我只是自己學習和試驗。

+2

請將您的問題縮小到只有一個具有有限正確答案的特定問題。您在各種不同的主要模式中看到的每個幫助窗口都可能有不同的生成和顯示方法,並且沒有一個一般答案或最佳實踐 - 問題太廣泛而無法按原樣回答。 – lawlist

+0

@lawlist我喜歡 - 無法決定最佳方式而無法使其更加廣泛。例如,如果您正在創建一種新模式,您知道自己想表現得像Magit一樣,並且還使用組織模式的製表符循環,您將如何開始?我不知道從哪裏開始。我一直在黑暗中摸索,直到我覺得值得把它放在堆棧溢出。 – lucidquiet

+1

您可能希望考慮探索的一個想法是「狹義區域」來處理特定任務。你也可以考慮探索'間接緩衝區'(首先使用'narrow-to-region'填充),它可以擁有自己的模式和自己的鍵綁定,或者可以保持之前的模式活動。我從'* Org Agenda *'緩衝區或主要待辦事項文件編輯任務時執行此操作。看一下'org-narrow-to-subtree' - 我用'make-indirect-buffer'的一個變體。例如,我的主要待辦事項文件具有「truncate-lines」,而我的間接緩衝區有「自動換行」。 – lawlist

回答

2

Magit尤其不是Emacs中彈出緩衝區的最簡單介紹,但它確實很複雜且讀起來很好。尋找你的機器上magit-popup.el,例如M-X查找功能RETmagit - 彈出式模式設置。對我而言,該函數看起來像是一個很好的候選人,可以開始閱讀該文件。你可以看到在使用例如宏magit-define-popupmagit-push-popup文件magit-remote.el

在年底,它歸結爲在新窗口中打開一個新的緩衝區,並給它擁有所有的鍵綁定專用的主要模式。

另一個很好的候選人是temp-buffer-*職能的家庭。

希望,這給了一些指針開始閱讀。

+0

我認爲這是我以後的事情。基本上,我認爲我需要盡我所能地閱讀magit。我打算打開一個新的緩衝區並設置一個自定義模式(一個用於任務)以及自定義鍵綁定。出於某種原因,我並不認爲我需要超過一種模式,但它看起來像magit也使用多種模式。 – lucidquiet

1

一個簡單的方法來顯示菜單/幫助屏幕點菜Magit和組織模式是與九頭蛇:

這是一個簡短的elisp的方法寫,它會給你一個像org模式的菜單。例如:

(defhydra hydra-zoom (global-map "<f2>") 
"zoom" 
    ("g" text-scale-increase "in") 
    ("l" text-scale-decrease "out")) 

ps:這不是什麼org模式和magit使用。 Magit的系統直到最近才重新使用,我不知道它與Hydra相比如何。 Hydras的一個很好的功能是你可以告訴它在按鍵後不會消失,所以你可以按下很多按鍵。

相關問題