2013-10-05 40 views

回答

6

如果它只是用於交互式的使用,我會定義一個替代的功能:

(defun my-revert-buffer-noconfirm() 
    "Call `revert-buffer' with the NOCONFIRM argument set." 
    (interactive) 
    (revert-buffer nil t)) 

另外,作爲revert-buffer文檔字符串告訴你,先看看revert-without-query變量的情況下,這是一個更好的解決方案您。

+0

其實我更喜歡你的功能,因爲在其他情況下,我可能仍然需要Emacs提示。謝謝! –

3

在一個相關的方面說明,很多人都在他們的.emacs下面一行,這將使確認只是一個按鍵(只Ÿñ):

(defalias 'yes-or-no-p 'y-or-n-p) 
+3

很多人都這麼做,但我不推薦它。 Emacs有兩個不同的功能是有原因的。如果你不喜歡'yes-or-no-p'的*特殊用法*,那麼考慮爲那個*特殊情況*定義一個替換命令,它執行相同的事情,但是使用'y-or-n-p'。與'y-or-n-p'替換'yes-or-no-p'的'blanket *'相反。 – Drew

+1

@請問毛毯更換有什麼危險? – Tshepang

+3

@Tshepang:編輯vs單個字符輸入。同樣的道理,設計命令的人認爲使用'yes-or-no-p'而不是'y-or-n-p'會更好。他爲什麼這樣做?您可能不同意該命令的界面。或者你可能不同意wrt * all *命令,並且總是傾向於'y-or-n-p'。但至少假定定義命令的人有某些不使用'y-or-n-p'的理由。一般來說,這個想法是,必須輸入'是'或'否'(a)可能會讓你停下來思考更多,或者(b)可能會因無意中擊錯錯誤鍵而阻止作出不打算的選擇。 – Drew

0

定製revert-without-query可能是一個選項。

2

我用這個,類似於what @phils proposed,但與非nilIGNORE-AUTO ARG:

(defun revert-buffer-no-confirm() 
    "Revert buffer without confirmation." 
    (interactive) (revert-buffer t t)) 

我把它綁定到<f5>,因爲這就是那個鍵一般不,在MS Windows操作系統。

無論如何,我同意(強烈)與那些建議爲此定義單獨命令的人。我不打擾revert-without-query,除非你是非常確定某些文件(總是)等。最好讓revert-buffer繼續正常工作,並提供(也許綁定)自己的命令交互使用。 知道什麼時候不要被確認提示打擾。

+0

是的,我的情況是刷新一個日誌文件。所以繼續輸入「是」非常繁瑣。 –

0

雖然,正如其他的答案中指出,最好重新定義revert-buffer功能或按鍵綁定,可以自動回覆「是」 任何功能使用yes-or-no-p或通過一些事情y-or-n-p像下面這樣:

(defalias 'yes-or-no-p '(lambda (a &rest b) t))

這可能是非常具有破壞性您的數據,所以在你自己的判斷使用。

相關問題