我认为我的问题非常明显,但我不知道Lisp并且无法弄明白。每次我尝试在python文件中写一个大写“M”时它都行不通(似乎认为这是一个快捷方式的开始)。我的猜测是在模块或我的.emacs文件中的某个地方,它试图将某些内容绑定到Alt +。但相反,它将它与资本M绑定。这是我的.emacs文件(我从网上复制了大部分文件):
; load-path setting is only needed if the directory you put
; weblogger.el in isn't already in your load-path
(add-to-list 'load-path "~/.emacs.d/")
; Remap Ctrl-tab to M-Tab
(define-key function-key-map [(control tab)] [?\M-\t])
(require 'ipython)
(define-key py-mode-map (kbd "M-") 'anything-ipython-complete)
(define-key py-shell-map (kbd "M-") 'anything-ipython-complete)
(define-key py-mode-map (kbd "C-c M") 'anything-ipython-import-modules-from-buffer)
(require 'python-mode)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(require 'python-pep8)
(require 'python-pylint)
(require 'lambda-mode)
(add-hook 'python-mode-hook #'lambda-mode 1)
(require 'comint)
(define-key comint-mode-map (kbd "M-") 'comint-next-input)
(define-key comint-mode-map (kbd "M-") 'comint-previous-input)
(define-key comint-mode-map [down] 'comint-next-matching-input-from-input)
(define-key comint-mode-map [up] 'comint-previous-matching-input-from-input)
(autoload 'pylookup-lookup "pylookup")
(autoload 'pylookup-update "pylookup")
(setq pylookup-program "~/.emacs.d/pylookup/pylookup.py")
(setq pylookup-db-file "~/.emacs.d/pylookup/pylookup.db")
(global-set-key "\C-ch" 'pylookup-lookup)
(autoload 'autopair-global-mode "autopair" nil t)
(autopair-global-mode)
(add-hook 'lisp-mode-hook
#'(lambda () (setq autopair-dont-activate t)))
(add-hook 'python-mode-hook
#'(lambda ()
(push '(?' . ?')
(getf autopair-extra-pairs :code))
(setq autopair-handle-action-fns
(list #'autopair-default-handle-action
#'autopair-python-triple-quote-action))))
(require 'python-pep8)
(require 'python-pylint)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(autoload 'pylookup-lookup "pylookup")
(autoload 'pylookup-update "pylookup")
(setq pylookup-program "~/.emacs.d/pylookup/pylookup.py")
(setq pylookup-db-file "~/.emacs.d/pylookup/pylookup.db")
(global-set-key "\C-ch" 'pylookup-lookup)
;; Initialize Rope
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
(require 'auto-complete)
(global-auto-complete-mode t)
;(when (require 'auto-complete nil t)
; (require 'auto-complete-yasnippet)
; (require 'auto-complete-python)
; (require 'auto-complete-css)
; (require 'auto-complete-cpp)
; (require 'auto-complete-emacs-lisp)
; (require 'auto-complete-semantic)
; (require 'auto-complete-gtags))
; (global-auto-complete-mode t)
; (setq ac-auto-start 3)
; (setq ac-dwim t)
; (set-default 'ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer ac-source-files-in-current-dir ac-source-symbols))
; (load-library "init_python")
知道我应该从哪里开始寻找问题吗?一个简单的搜索或任何其他方法来调试.emacs目录中的文件?
答案 0 :(得分:6)
这对我来说不对:
(define-key py-mode-map (kbd "M-") 'anything-ipython-complete)
(define-key py-shell-map (kbd "M-") 'anything-ipython-complete)
(define-key comint-mode-map (kbd "M-") 'comint-next-input)
(define-key comint-mode-map (kbd "M-") 'comint-previous-input)
kbd
期待一个完整的绑定,但你试图绑定 M -
一些功能。我怀疑有一封信丢失了。
即
(define-key py-mode-map (kbd "M-TAB") 'anything-ipython-complete)
此处, M 代表META
,ALT
通常绑定到ESC
或X
。
顺便说一下,你可以做 X C - h 看看 以{{1}}开头的次模式绑定。