2016-12-30 25 views
0

我剛開始在我的emacs中使用vim。雖然大多數文檔/維基都建議在全球範圍內開啓邪惡模式,但我作爲emacs用戶在第一開始時確實更喜歡將邪惡模式保持在本地。這意味着,當我需要模型編輯時,我將打開該本地緩衝區中的邪惡模式。我寫了一段elisp來開啓/關閉邪惡模式:`C- [`不能在惡意本地模式下從插入模式轉義

(defun toggle-evil-local-mode() 
"Toggle on and off evil mode in local buffer." 
(interactive) 
(if evil-local-mode 
    (turn-off-evil-mode) 
    (turn-on-evil-mode))) 

(global-set-key (kbd "s-e") 'toggle-evil-local-mode) 

但是,有一件事讓我困擾。我不能使用C-[從插入或可視模式轉換到正常模式(emacs讀取按鍵爲ESC-,並在回顯區域等待更多輸入),但Esc鍵仍可以正常工作。但是如果我在全球開啓邪惡模式,C-[只是與Esc相同。

您可能注意到我正在使用鍵盤綁定中的Mac。雖然目前我可以使用Esc鍵,但如果將來使用這些惡意觸摸條升級到新的MBP會怎樣?那麼有什麼方法可以解決這個問題嗎?任何建議將不勝感激。

+0

Vim。或者Vim不是。沒有嘗試:-) – paxdiablo

回答

0

看起來像一個邪惡的錯誤。讓我知道這是否工作:

(defun turn-on-evil-mode-fixed-escape() 
    "Turn on Evil in the current buffer AND `evil-esc-mode'. This makes C-[ work 
like <escape> when using `evil-local-mode'." 
    (interactive) 
    (turn-on-evil-mode) 
    (evil-esc-mode 1)) 
+0

感謝您的答案。它解決了我的問題:) – Daniel

+0

@Daniel當然可以!如果它解決了你的問題,你可以點擊左邊的複選標記嗎?當網站顯示在網站的各個位置時,這會將問題標記爲「已解決」。 –