2013-08-27 2 views
2

Хотелось бы только автозаполнять, когда я нажимаю клавишу TAB, а не при ударе RET. Я пробовал несколько вариантов конфигурации, но я не могу отключить действие. Вот мой текущий конфиг, который содержит все изменения, которые я пробовал:Emacs & Autocomplete: отключить RET для входа?

(define-key ac-completing-map "\t" 'ac-complete) ; use tab to complete, working 
(define-key ac-completing-map "\r" nil) 
(define-key ac-completing-map "\C-m" nil) 
(define-key ac-completing-map "RET" nil) 
(define-key ac-completing-map "<return>" nil) 

Интересно, что \C-m работает, как ожидалось, но удар RET не делает.

Может ли кто-нибудь сказать мне, что мне не хватает?

ответ

4

Эти две линии одна работа для меня:

(define-key ac-completing-map [return] nil) 
(define-key ac-completing-map "\r" nil) 

Если они не работают для вас, вы можете значение переменного тока, заполняющего-карту таким образом, мы можем понять, что происходит.

+1

Чтобы добавить к тому, что сказал @juanleon: Вы можете найти последовательность клавиш, которую видит Emacs, когда вы нажимаете клавишу 'Return' на клавиатуре, используя' C-h k' и нажимая этот ключ. Предполагается, что ответ будет «», а не 'RET' (иначе' C-m'). – Drew

+0

Спасибо @Drew, 'C-h k' показывает, что это' 'и используя параметр' [return] 'to' nil' исправил мою проблему. –

Смежные вопросы