2015-02-10 22 views
2

我經常使用矩形命令,例如C-x r r。昨天,我安裝了新版本的Emacs(GNU Emacs 24.4.1,修改版本爲with ESS)。當我嘗試使用C-x r r進行復制時,我收到以下消息:
非字符輸入事件Emacs:使用矩形命令時的非字符輸入事件

我不知道爲什麼發生這種情況以及意味着什麼。如果有人能給我一些建議,我將非常高興,我需要做些什麼樣的改變才能恢復使用矩形命令的能力。

+2

使用CX SPC進入矩形標記模式,如果你只是使用kill /抽出 – 2015-02-10 12:57:20

+0

@DaveF的'CX r'家庭的可能是一些幫助命令應該仍然有效。 giordano,你可能會有一些舊的字節編譯代碼掛在你以前版本的Emacs上。看看[這](http://stackoverflow.com/questions/1217180/how-do-i-byte-compile-everything-in-my-emacs-d-directory)幫助。 – Chris 2015-02-10 13:34:03

+0

@Dave F感謝戴夫。我不知道這件事。 – giordano 2015-02-10 13:47:43

回答

1

如果啓動Emacs,

的emacs -q

,然後嘗試一些rectagular編輯命令,你不會得到一個錯誤,那麼你知道這個問題是由在東西引起你的emacs init配置。

如果出現這種情況,您可以通過查看init文件並註釋掉比特來開始追蹤它。一個好的方法是註釋init的後半部分,用-q重新啓動emacs,再次嘗試命令。如果錯誤仍然存​​在,那麼你知道它是由你的配置的前半部分沒有被註釋掉的東西引起的。如果錯誤沒有發生,那麼你知道它是由你註釋掉的init文件的後半部分引起的。

然後,您繼續此過程,註釋並取消註釋init文件,並使用-q重新啓動,直到找到導致錯誤的init文件中的行。

1

Tim的答案顯示你確定這不是init文件的問題,這是一個很好的答案。首先嚐試一下,因爲它的工作量較少,對現有工作流程的改變較少。

我懷疑這是您安裝的已修改Emacs的問題。我建議安裝未改性Emacs和事後安裝ESS:

  1. 安裝GNU Emacs的。 GNU現在提供了official Windows binaries,您可以直接解壓縮並使用。如果內存提供服務,則應在wbin/目錄中使用runemacs.exe啓動Emacs。

    在撰寫本文時,最新版本是24.4版本。

  2. 添加第三方軟件包存儲庫。從版本24開始,Emacs有一個名爲package.el的內置包管理器。開箱即用,唯一活動的軟件包存儲庫是GNU ELPA,但還有其他幾個。

    添加一個包含ESS的例如MELPAMELPA stable。對於MELPA,您應該在您的配置中包含諸如

    (require 'package) 
    (add-to-list 'package-archives 
          '("melpa" . "http://melpa.org/packages/") t) 
    (package-initialize) 
    

    。 MELPA getting started頁面值得一讀。

  3. 使用package.el安裝ESS。有幾種方法可以執行此操作,但最簡單的方法是運行M-x package-list-packages,搜索ess的結果軟件包列表緩衝區,標記爲ess(以及您希望安裝的任何其他軟件包),以安裝i,然後安裝標記的軟件包與x

這在Linux上運行的非常漂亮,而且我使用的大多數軟件包都在Windows上安裝並正常工作。不幸的是,我還沒有嘗試在Windows上安裝ESS,所以我無法專門對此進行評論。

如果您喜歡package.el的方法,還有很多您可能想要了解的其他主題。我建議儘快與use-package結交非常好的朋友。

+0

謝謝。我很快就會遇到Emacs/ESS的主要問題 – giordano 2015-08-31 20:06:13

+0

我安裝了原始的emacs 25.1並得到了相同的問題(emacs-non-character-input-event-when-rectangular-rectangular-commands)。我發現這個問題從版本24.4開始,對於原始版本和Goulet的emacs都是如此。目前我使用的是Windows 10,以前是Windows 7和8.似乎這個問題只發生在矩形複製中,而不是所有其他選項(殺死,延期,刪除)。 – giordano 2017-07-26 15:19:35

0

該解決方案解釋爲here

第二- [R類似的別名應鍵入之後,例如,一個或任何其他字母(區分大小寫)或數字。在以前版本的emacs中,這不是必需的,在第二個r之後,我必須輸入RETURN。這裏有一個例子怎麼辦:

C-x r r a 
C-x r i a