2012-01-02 14 views
1

私の問題はかなり明らかですが、私はLispを知らず、理解できません。私が大文字の "M"をPythonファイルに書き込もうとするたびに、それは動作しません(これはショートカットの開始だと思えるようです)。私の推測では、モジュールや、.emacsファイルのどこかにAlt +何かをバインドしようとしていると思います。しかし、代わりにそれを資本Mに結びつける。ここでは(私はネットからのほとんどをコピーしている)私の.emacsファイルがあります:大文字を書くことができませんM

; 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-directory内のファイルを簡単に検索する方法や他の方法でデバッグする方法はありますか?これは私には間違って見える

答えて

5

(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) 

​​完全な結合を期待していますが、一部の機能にM- をバインドしようとしています。私は手紙がないと思う。ここ

すなわち

(define-key py-mode-map (kbd "M-TAB") 'anything-ipython-complete) 

、通常​​ またはESCに結合しているMETAを表しM。 Xで始まる マイナモードのバインディングを参照してください時間 - ところで

、あなたはXCを行うことができます。

+1

2 kbdのタグと同じ文字列 'C-h '(と同様のもの)を書くことは混乱します。「C」キーと「h」キーを押すように読み込まれます。単一のkbdタグを使うか、修飾キーの名前を明示的に指定し、 'C'と' M'の代わりに 'Ctrl'と' Meta'を書いてください。 – phils

+0

Thnx、私は仕事の後でそれを調べる(そしておそらく答えを受け入れる):) –

+0

魅力的なように働いた:Thnx! –

関連する問題