2011-10-18 182 views
1

我在Emacs中有相當數量的緩衝區打開,並使用C-x b在它們之間切換。但是,我經常發現自己返回到一個較早訪問的緩衝區,該緩衝區現在擁有隻讀權限。它可以通過M-x toggle-read-only切換回來。我想知道爲什麼當我回到它時(自動?)得到一個只讀緩衝區,以及如何避免它。如何避免在Emacs中自動切換(只讀)緩衝區

我只有一個Emacs實例打開,並且在此期間不更改緩衝區下的文件。

+2

我從來沒有見過 – Flexo

+1

之前的行爲奇怪的是,我從來沒有見過這之前。你是否運行了任何可能導致這種情況的特定軟件包(比如'global-auto-revert-mode'?)你可能不小心碰到了'Cx Cq'(它運行'toggle-read-only'),如果是的話,你可以解除綁定這可以避免這種情況。 – Lindydancer

回答

4

返回到緩衝區絕對不會使其成爲只讀。

您可以在toggle-read-only中提出一個建議,以查看是否存在無意中調用的地方。

(defadvice toggle-read-only (around invoke-debugger activate) 
    "invoke debugger to see the call stack" 
    (debug "")) 

如果不幫你甚至可以把一個建議的setqbuffer-read-only是越來越分配進入調試器。

0

這不是默認的emacs行爲。以emacs版本/平臺等方式提供更多數據...查看您的init文件(包括.emacs),該文件由於某種原因具有緩衝區只讀。在任何情況下,您都可以通過在交換緩衝區(或C-h k C-x b)中添加掛鉤來避免。 使用切換隻讀與負面的參數。

1

我相信這種情況經常發生在AZERTY鍵盤上,其中Q和S是相鄰的,一個將緩衝區切換到只讀模式而不是保存。

相關問題