我刚刚升级了我的整个发行版,我正在尝试使用以前的设置来设置我的 emacs,当使用我的“magit”插件并输入“Mx magit-status”时,我收到以下错误:
\n\nRecursive `require\' for feature `magit-simple-keys\'\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的配置(.emacs.d/init.el)
\n\n(require \'package)\n(add-to-list \'package-archives \'("elpa" . "http://tromey.com/elpa/"))\n(add-to-list \'package-archives\n \'("marmalade" . "http://marmalade-repo.org/packages/") t)\n(package-initialize)\n(setq required-packages\n (list \'mwe-log-commands \'drag-stuff \'flymake-ruby \'flymake-haml \'regex-tool \'mic-paren \'highline \'android-mode \'css-mode \'csv-mode \'apache-mode \'crontab-mode \'emms \'switch-window \'multi-term \'undo-tree \'rvm \'auto-complete \'yasnippet-bundle \'ruby-electric \'rinari \'inf-ruby \'coffee-mode \'yaml-mode \'feature-mode \'scss-mode \'haml-mode \'magit-simple-keys))\n(dolist (package required-packages)\n (when (not (package-installed-p package))\n (package-refresh-contents)\n (package-install package)))\n\n;; Setup external directory variable\n(setq elisp-dir\n (expand-file-name "elisp" user-emacs-directory))\n(setq elisp-external-dir\n (expand-file-name "external" elisp-dir))\n\n;; Add external projects to load path\n(add-to-list \'load-path elisp-external-dir)\n\n(dolist (project (directory-files elisp-external-dir t "\\\\w+"))\n (when (file-directory-p project)\n (add-to-list \'load-path project)))\n\n\n; Keybinding\n(global-set-key [f1] \'twit)\n(global-set-key [f2] \'gist-region-or-buffer)\n(global-set-key [f3] \'switch-window)\n(global-set-key [f4] \'magit-display-log)\n(global-set-key [f5] \'magit-status)\n(global-set-key [f6] \'multi-term)\n(global-set-key [f7] \'split-window-vertically)\n(global-set-key [f8] \'next-multiframe-window)\n;; f9 is taken by git-status somewhere.\n(global-set-key [f10] \'undo-tree-visualize)\n(global-set-key [f12] \'switch-full-screen)\n\n(global-set-key (kbd "C-x f") \'rinari-find-file-in-project)\n(global-set-key (kbd "C-x g") \'rinari-rgrep)\n\n(global-set-key (kbd "C-c I") \'irc)\n\n;fullscreen mode\n(defun switch-full-screen ()\n (interactive)\n (shell-command "wmctrl -r :ACTIVE: -btoggle,fullscreen"))\n\n;; Allow using mouse thumb button to browse URLs\n(global-set-key [mouse-10] \'browse-url-at-mouse)\n\n; stop emacs from contaminating each directory with semantic.cache\n(setq semanticdb-default-save-directory "/tmp")\n\n; General settings\n(setq-default tab-width 4)\n(menu-bar-mode 1) ;; enable the menu bar\n(tool-bar-mode -1) ; Disable tool-bar\n(display-battery-mode)\n(setq column-number-mode t)\n(display-time)\n(setq backup-inhibited t) ;; disable backup\n\n;; Org-mode options\n(add-hook \'org-mode-hook \'turn-on-visual-line-mode)\n;; (add-hook \'org-mode-hook \'my-org-mode-autosave-settings)\n;; (defun my-org-mode-autosave-settings ()\n;; (set (make-local-variable \'auto-save-visited-file-name) t)\n;; (setq auto-save-interval 20))\n\n(add-to-list \'auto-mode-alist \'("\\\\.org$" . org-mode))\n(global-set-key "\\C-cl" \'org-store-link)\n(global-set-key "\\C-ca" \'org-agenda)\n(setq org-agenda-files \'("~/Dropbox/org/"))\n(setq org-directory "~/Dropbox/org")\n(setq org-mobile-inbox-for-pull "~/Dropbox/org/inbox.org");; new notes will be stored here\n(setq org-support-shift-select t)\n(setq org-mobile-directory "~/Dropbox/MobileOrg") ;; Set to <your Dropbox root directory>/MobileOrg.\n\n;; Set color\n(custom-set-faces\n ;; custom-set-faces was added by Custom.\n ;; If you edit it by hand, you could mess it up, so be careful.\n ;; Your init file should contain only one such instance.\n ;; If there is more than one, they won\'t work right.\n \'(default ((t (:inherit nil :stipple nil :background "black" :foreground "white" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width normal :foundry "unknown" :family "DejaVu Sans Mono")))))\n\n; Auto complete settings\n(setq hippie-expand-try-functions-list\n \'(try-complete-abbrev\n try-complete-file-name\n try-expand-dabbrev))\n\n; -------------------- Custom Settings --------------------\n(custom-set-variables\n ;; custom-set-variables was added by Custom.\n ;; If you edit it by hand, you could mess it up, so be careful.\n ;; Your init file should contain only one such instance.\n ;; If there is more than one, they won\'t work right.\n \'(column-number-mode t)\n \'(display-battery-mode t)\n \'(display-time-mode t)\n \'(ecb-options-version "2.32")\n \'(inhibit-startup-screen t)\n \'(org-agenda-files (quote ("~/Dropbox/org")) t)\n \'(rails-ws:default-server-type "mongrel")\n \'(send-mail-function (quote smtpmail-send-it))\n \'(smtpmail-smtp-server "smtp.googlemail.com")\n \'(smtpmail-smtp-service "smtp")\n \'(tool-bar-mode nil)\n \'(tooltip-mode nil))\n\n; -------------------- File plugins --------------------\n; Interactively Do Things\n(ido-mode t) \n\n; tramp - remote ssh editing\n(require \'tramp)\n(setq tramp-default-method "ssh")\n\n; -------------------- Rails setting files --------------------\n(require \'yaml-mode)\n(add-to-list \'auto-mode-alist \'("\\\\.yml$" . yaml-mode))\n\n; -------------------- Rails minor plugin -------------------- \n(setq x-select-enable-clipboard t)\n(setq interprogram-paste-function \'x-cut-buffer-or-selection-value)\n\n;; https://github.com/remvee/emacs-rails\n;; Currently this interfers with auto complete, using rinari instead\n;; automatically adds end to blocks.\n(require \'rails) \n\n;; Rinari - Rails plugin\n(add-to-list \'load-path "~/.emacs.d/rinari/")\n(require \'rinari)\n(add-hook \'ruby-mode-hook\n (lambda ()\n (defadvice ruby-mode-set-encoding\n (around ruby-mode-set-encoding-disable activate) nil)))\n\n; -------------------- Rails Views -------------------- \n; haml-sass\n(require \'haml-mode nil \'t)\n (add-hook \'haml-mode-hook\n \'(lambda () (setq tab-width 2)))\n(setq scss-compile-at-save nil)\n\n; stylesheets\n(autoload \'css-mode "css-mode")\n(setq auto-mode-alist (cons \'("\\\\.css\\\\\'" . css-mode) auto-mode-alist))\n\n; html2haml function to convert current buffer to haml\n(defun haml-ify ()\n "run html2haml on current buffer"\n (interactive)\n (setf filename buffer-file-name)\n (setf newfilename (concat filename ".haml"))\n (save-buffer)\n (shell-command (concat\n "html2haml " filename " > " newfilename))\n (kill-buffer (current-buffer))\n (delete-file filename)\n (find-file newfilename))\n;; -------------------- Rails Testing -------------------- \n;; Cucumber\n(require \'feature-mode)\n\n;; -------------------- Rails Tools -------------------- \n;; Check out abbrev-mode instead as it seems lighter.\n(require \'snippet)\n\n;; -------------------- Ruby plugins -------------------- \n(add-to-list \'auto-mode-alist \'("Capfile" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("Gemfile" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("Rakefile" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("god" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("Guardfile" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.rake\\\\\'" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.rb\\\\\'" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.ru\\\\\'" . ruby-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.html.erb\\\\\'" . html-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.ejs\\\\\'" . html-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.eco\\\\\'" . html-mode))\n(add-to-list \'auto-mode-alist \'("\\\\.hamlc\\\\\'" . haml-mode))\n\n;; Ruby-electric\n(require \'ruby-electric)\n(add-hook \'ruby-mode-hook \'ruby-electric-mode)\n\n;; Issues under some compiles of emacs\n;; (require \'ruby-electric)\n;; (add-hook \'ruby-mode-hook\n;; (lambda()\n;; (add-hook \'local-write-file-hooks\n;; \'(lambda()\n;; (save-excursion\n;; (untabify (point-min) (point-max))\n;; ;(delete-trailing-whitespace)\n;; )))\n;; (set (make-local-variable \'indent-tabs-mode) \'nil)\n;; (set (make-local-variable \'tab-width) 2)\n;; (imenu-add-to-menubar "IMENU")\n;; (require \'ruby-electric)\n;; (ruby-electric-mode t)))\n\n;; Inferior Ruby Mode\n(autoload \'inf-ruby "inf-ruby" "Run an inferior Ruby process" t)\n(autoload \'inf-ruby-keys "inf-ruby" "" t)\n(eval-after-load \'ruby-mode \'(add-hook \'ruby-mode-hook \'inf-ruby-keys))\n\n;; -------------------- SQL --------------------\n(defun my-sql-interactive-mode-hook ()\n (setq tab-width 8))\n(add-hook \'sql-interactive-mode-hook \'my-sql-interactive-mode-hook)\n(require \'sql)\n(put \'upcase-region \'disabled nil)\n\n\n;; -------------------- Autocomplete --------------------\n;; Use with Rsense for Ruby autocomplete:\n;; http://cx4a.org/software/rsense/\n;; Follow instructions on: http://itstickers.blogspot.com/2010/11/all-about-emacs.html\n(require \'auto-complete-config)\n(add-to-list \'ac-dictionary-directories "~/.emacs.d/ac-dict")\n(ac-config-default)\n\n;; Rsense\n(setq rsense-home "/opt/rsense-0.3")\n(add-to-list \'load-path (concat rsense-home "/etc"))\n(require \'rsense)\n\n;; Rsense + Autocomplete\n(add-hook \'ruby-mode-hook\n (lambda ()\n (add-to-list \'ac-sources \'ac-source-rsense-method)\n (add-to-list \'ac-sources \'ac-source-rsense-constant)))\n\n;; Complete by C-c .\n(add-hook \'ruby-mode-hook\n (lambda ()\n (local-set-key (kbd "C-c .") \'rsense-complete)))\n\n;; RVM in emacs\n;; (require \'rvm)\n;; (rvm-use-default) ;; use rvm\xe2\x80\x99s default ruby for the current Emacs session\n\n;; Switch windows easier when you have 3 or more.\n(require \'switch-window)\n\n;; gist\n(require \'gist)\n(setq gist-authentication-function \'gist-basic-authentication)\n\n(setq the-secrets-file\n (expand-file-name "secrets.el" user-emacs-directory))\n(when (file-exists-p the-secrets-file)\n (load the-secrets-file))\n\n;; highline-mode\n(require \'highline) \n(defun highline-mode-on ()\n (highline-mode 1)) \n;; Turn on local highlighting for Dired (C-x d) \n(add-hook \'dired-after-readin-hook #\'highline-mode-on) \n;; Turn on local highlighting for list-buffers (C-x C-b) \n(defadvice list-buffers (after highlight-line activate) (save-excursion (set-buffer "*Buffer List*") (highline-mode-on)))\n\n;; mic-paren - advanced highlighting of matching parentheses\n(paren-activate)\n\n;; flyspell\n(add-hook \'org-mode-hook\n (lambda ()\n (flyspell-mode)\n (setq flyspell-issue-message-flag \'nil)))\n(add-hook \'ruby-mode-hook\n (lambda ()\n (flyspell-prog-mode)\n (setq flyspell-issue-message-flag \'nil)))\n\n;; flymake haml\n(add-hook \'haml-mode-hook \'flymake-haml-load)\n\n\n;; undo\n(add-hook \'ruby-mode-hook \'undo-tree-mode)\n\n;; multi-term\n;; (setq term-default-fg-color "#aaa") \n\n;; Upgrade all packages\n(defun package-update-all ()\n "Update all packages"\n (interactive)\n (dolist (elt package-alist)\n (let* ((name (car elt))\n (file-name (symbol-name name))\n (available-pkg (assq name package-archive-contents))\n (available-version (and available-pkg\n (package-desc-vers (cdr available-pkg))))\n (current-version (package-desc-vers (cdr elt)))\n )\n (when (and available-version\n (version-list-< current-version available-version))\n (message "Updating to: %s - %s" file-name\n (package-version-join available-version))\n (package-install name)\n (package-delete file-name (package-version-join current-version))))))\n\n\n;; Music player\n(add-to-list \'load-path "~/.emacs.d/elisp/external/bongo")\n(setq bongo-global-lastfm-mode t)\n(autoload \'bongo "bongo"\n "Start Bongo by switching to a Bongo buffer." t)\n\n;; Volume manager (Use \'v\' in bongo music player)\n(add-to-list \'load-path "~/.emacs.d/elisp/external/volume-el")\n(autoload \'volume "volume"\n "Tweak your sound card volume." t)\n\n;; Twitter mode\n(add-to-list \'load-path "~/.emacs.d/elisp/external/twitter-mode")\n(require \'twittering-mode)\n(setq twittering-icon-mode t) \n(setq twittering-timer-interval 40) \n(setq twittering-url-show-status nil) \n(add-hook \'twittering-edit-mode-hook (lambda () (ispell-minor-mode) (flyspell-mode)))\n(setq twittering-use-master-password t) ;; Don\'t prompt for authorisation. \n\n;; drag-stuff\n(require \'drag-stuff)\n\n;; coffee-mode\n(defun coffee-custom ()\n "coffee-mode-hook"\n (set (make-local-variable \'tab-width) 2))\n\n;; (define-key coffee-mode-map [(meta r)] \'coffee-compile-buffer)\n;; (define-key coffee-mode-map [(meta R)] \'coffee-compile-region)\n\n(add-hook \'coffee-mode-hook\n \'(lambda() (coffee-custom)))\n\n;; Don\'t ask to save abbrevs\n(setq save-abbrevs \'silently)\n\n\n;; log commands.\n;; M-x mwe:open-command-log-buffer\n(add-hook \'LaTeX-mode-hook (function mwe:log-keyboard-commands))\n\n;; screensaver\n(setq zone-when-idle t)\n\n\n;; IRC reconnect\n(eval-after-load \'rcirc\n \'(defun-rcirc-command reconnect (arg)\n "Reconnect the server process."\n (interactive "i")\n (unless process\n (error "There\'s no process for this target"))\n (let* ((server (car (process-contact process)))\n (port (process-contact process :service))\n (nick (rcirc-nick process))\n channels query-buffers)\n (dolist (buf (buffer-list))\n (with-current-buffer buf\n (when (eq process (rcirc-buffer-process))\n (remove-hook \'change-major-mode-hook\n \'rcirc-change-major-mode-hook)\n (if (rcirc-channel-p rcirc-target)\n (setq channels (cons rcirc-target channels))\n (setq query-buffers (cons buf query-buffers))))))\n (delete-process process)\n (rcirc-connect server port nick\n rcirc-default-user-name\n rcirc-default-full-name\n channels))))\n\n;; Video editor\n;; (load "~/.emacs.d/elisp/external/gneve.el")\nRun Code Online (Sandbox Code Playgroud)\n