Mac 安装 Emacs,配置python,java,go 环境

  • 安装Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    卸载命令为:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

  • brew install emacs --with-cocoa

  • brew linkapps emacs

  • pip3 install ipython

  • 配置python环境,elpy准备

    • 必备python包
      # Either of these
      pip3 install rope
      pip3 install jedi
      # flake8 for code checks
      pip3 install flake8
      # and autopep8 for automatic PEP8 formatting
      pip3 install autopep8
      # and yapf for code formatting
      pip3 install yapf
      
    • neotree
      cd ~/.emacs.d/
      mkdir emacs-plugins
      cd emacs-pllugins
      git clone https://github.com/jaypei/emacs-neotree.git neotree
      
    • vim ~/.emacs.d/init.el,并加入配置
      ;; init.el --- Emacs configuration
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin python;;;;;;;;;;;;;;;;;;;
      
      ;; Added by Package.el.  This must come before configurations of
      ;; installed packages.  Don't delete this line.  If you don't want it,
      ;; just comment it out by adding a semicolon to the start of the line.
      ;; You may delete these explanatory comments.
      (require 'package)
      (add-to-list 'package-archives
                 '("elpy" . "https://jorgenschaefer.github.io/packages/"))
      
      (setq elpy-rpc-python-command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3")
      (setq python-shell-interpreter "/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython"
          python-shell-interpreter-args "-i --simple-prompt")
      (package-initialize)
      (when (require 'elpy nil t)
         (elpy-enable))
      (setq elpy-rpc-backend "jedi")
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end python;;;;;;;;;;;;;;;;;;;;;
      
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin neotree;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/neotree")
      (require 'neotree)
      (global-set-key [f8] 'neotree-toggle)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end neotree;;;;;;;;;;;;;;;;;;;;;;;
      
      ;; init.el ends here
      (custom-set-variables
       ;; custom-set-variables was added by Custom.
       ;; If you edit it by hand, you could mess it up, so be careful.
       ;; Your init file should contain only one such instance.
       ;; If there is more than one, they won't work right.
       '(package-selected-packages (quote (## elpy))))
      (custom-set-faces
       ;; custom-set-faces was added by Custom.
       ;; If you edit it by hand, you could mess it up, so be careful.
       ;; Your init file should contain only one such instance.
       ;; If there is more than one, they won't work right.
       )
      
    • 启动Emacs,等待一会,要点时间,需要下载插件,执行M-x package-install RET elpy RET安装elpy,M是alt键,RET是回车
    • neotree 简单教程
    ### Shortcut (Only in Neotree Buffer)
    
    *   `n` next line , `p` previous line。
    *   `SPC` or `RET` or `TAB` Open current item if it is a file. Fold/Unfold current item if it is a directory.
    *   `g` Refresh
    *   `A` Maximize/Minimize the [NeoTree](https://www.emacswiki.org/emacs/NeoTree) Window
    *   `H` Toggle display hidden files
    *   `C-c C-n` Create a file or create a directory if filename ends with a ‘/’
    *   `C-c C-d` Delete a file or a directory.
    *   `C-c C-r` Rename a file or a directory.
    *   `C-c C-c` Change the root directory.
    *   `C-c C-p` Copy a file or a directory.
    
    ### Commands(Global)
    
    *   `neotree-dir` show [NeoTree](https://www.emacswiki.org/emacs/NeoTree) window and specify a directory as its root
    *   `neotree-show` or `neotree` show [NeoTree](https://www.emacswiki.org/emacs/NeoTree) window using current directory as its root
    *   `neotree-hide` Hide [NeoTree](https://www.emacswiki.org/emacs/NeoTree) window
    *   `neotree-toggle` toggle/hide [NeoTree](https://www.emacswiki.org/emacs/NeoTree) window
    *   `neotree-find` show [NeoTree]  (https://www.emacswiki.org/emacs/NeoTree) window and use the directory of current buffer as its root
    
    ### Command(Only in NeoTree Buffer)
    
    *   `neotree-enter` Open File / Unfold Directory
    *   `neotree-refresh` Refresh
    *   `neotree-stretch-toggle` Maximize / Minimize
    *   `neotree-change-root` Switch Root Directory
    *   `neotree-hidden-file-toggle` Toggle hidden files
    *   `neotree-rename-node` Rename a Node
    *   `neotree-delete-node` Delete a Node
    *   `neotree-create-node` Create a file or a directory (if filename ends with ‘/’)
    
    
    • emacs窗口操作
      • C-x 0关闭当前窗口
      • C-x 4 0关闭当前窗口和缓冲
      • C-x 0关闭当前窗口
      • C-x 2垂直划分窗口
      • f8 显示隐藏neotree
      • C-c C-c运行python文件
    • 多窗口操作
  • 配置java环境

    • 准备
      • cd ~/.emacs.d/emacs-plugins
      • git clone https://github.com/flycheck/flycheck.git
      • git clone https://github.com/emacsmirror/exec-path-from-shell.git
      • git clone https://github.com/skeeto/emacs-memoize.git
      • git clone https://github.com/magnars/dash.el.git
      • git clone https://github.com/jdee-emacs/jdee/
      • git clone https://github.com/jdee-emacs/jdee-server.git
      • git clone https://github.com/auto-complete/popup-el.git
      • git clone https://github.com/auto-complete/auto-complete.git
      • 安装maven,jdee-server需要maven进行编译
      • cd jdee-server
      • mvn -Dmaven.test.skip=true package
      • 此时jdee-server已经编译好了,把它从target目录拷贝出来cp ./target/jdee-bundle-1.1-SNAPSHOT.jar.jar ./
    • 配置init.el
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin java config;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      
       ;;;;;;;;;;;;;;;;;;;;;;;;;;start popup;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/popup-el")
      (require 'popup)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end popup;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;start auto-complete;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/auto-complete")
      (require 'auto-complete-config)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end auto-complete;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin flycheck;;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/flycheck")
      (global-flycheck-mode)
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/exec-path-from-shell")
      (exec-path-from-shell-initialize)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end flycheck;;;;;;;;;;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin memoize;;;;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/emacs-memoize")
      (require 'memoize)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end memoize;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin dash;;;;;;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/dash.el")
      (require 'dash)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end dash;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin jdee;;;;;;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/jdee")
      (require 'jdee)
      (custom-set-variables
       ;;在这里设置你的jdk路径
       ;; custom-set-variables was added by Custom.
       ;; If you edit it by hand, you could mess it up, so be careful.
       ;; Your init file should contain only one such instance.
       ;; If there is more than one, they won't work right.
       '(jde-jdk
         (quote
          ("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home")))
       '(jde-jdk-registry
         (quote
          (("1.8" . "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"))))
       '(jdee-jdk-registry
         (quote
          (("1.8" . "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"))))
       '(jdee-server-dir "/Users/micocube/.emacs.d/emacs-plugins/jdee-server/")
       '(package-selected-packages (quote (## elpy))))
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end jdee;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      
      
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end java config;;;;;;;;;;;;;;;;;;;;;;
      
    • JDEE文档
    • 自动完成,Auto Java complete
      • cd ~/.emacs.d/emacs-plugins/
      • git clone https://github.com/emacs-java/auto-java-complete.git
      • cd auto-java-complete
      • bunzip2 java_base.tag.bz2
      • 配置init.el
        ;;;;;;;;;;;;;;;;;;;;;;;;;;bengin auto-java-complete;;;;;;;;;;;;
        (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-    plugins/auto-java-complete")
        (require 'ajc-java-complete-config)
        (add-hook 'java-mode-hook 'ajc-java-complete-mode)
        (add-hook 'find-file-hook 'ajc-4-jsp-find-file-hook)
        ;;;;;;;;;;;;;;;;;;;;;;;;;;bengin auto-java-complete;;;;;;;;;;;;
        
      • 重启emacs,此时还没有自动提示,因为tag文件找不到,M - x customize-variable RET ajc-tag-file RET 在窗口的输入框中输入tag文件的路径,比如/Users/micocube/.emacs.d/emacs-plugins/auto-java-complete/java_base.tag,点击apply and save按钮,重启之后就有了
  • 配置go环境,教程原址

    • 安装前准备
      • 安装golang
      • 设置GOROOT和GOPATH:vim ~/.bash_profile,非常重要
        #GO_HOME
        GOROOT=/usr/local/go
        export GOROOT
        export PATH=$PATH:$GOROOT/bin
        
        GOPATH=/Users/micocube/go
        export PATH=$PATH:$GOPATH/bin
        
      • cd ~/.emacs.d/emacs-plugins
      • git clone https://github.com/dominikh/go-mode.el.gitgo-mode
      • go get github.com/rogpeppe/godef
      • go get -u github.com/dougm/goflymakego 代码检查
      • go get -u github.com/nsf/gocode这一步我是出错了的,执行之后代码从git上下载下来了,但是go install的时候出错:go install crypto/cipher: open /usr/local/go/pkg/darwin_amd64/crypto/cipher.a: permission denied,所以手动安装了一波,sudo go install github.com/nsf/gocode/搞定,使用gocode --help检查gocode是否安装完成,如果gocode没有安装,后面的配置都会失效
      • gocode set propose-builtins true
      • cp ${GOPATH}/src/github.com/dougm/goflymake ~/.emacs.d/emacs-plugins/
        +cp ${GOPATH}/src/github.com/nsf/gocode ~/.emacs.d/emacs-plugins/
    • 配置init.el
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin go config;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin go-mode;;;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/go-mode.el")
      (require 'go-mode)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end go-mode;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin goflymake;;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/goflymake")
      (require 'go-flymake)
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/goflymake")
      (require 'go-flycheck)
      
      (add-hook 'flymake-mode-hook
            (lambda()
              (local-set-key (kbd "C-c C-e n") 'flymake-goto-next-error)))
      (add-hook 'flymake-mode-hook
            (lambda()
              (local-set-key (kbd "C-c C-e p") 'flymake-goto-prev-error)))
      (add-hook 'flymake-mode-hook
            (lambda()
              (local-set-key (kbd "C-c C-e m") 'flymake-popup-current-error-menu)))
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end goflymake;;;;;;;;;;;;;;;;;;;;;;;;
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;begin gocode;;;;;;;;;;;;;;;;;;;;;
      (add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/gocode/emacs")
      (require 'go-autocomplete)
      (ac-config-default)
      
      (add-hook 'before-save-hook #'gofmt-before-save)
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end gocode;;;;;;;;;;;;;;;;;;;;;;;
      
      
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;end go config;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      
    • gocode 文档
  • 最终配置文件

;; init.el --- Emacs configuration

;;;;;;;;;;;;;;;;;;;;;;;;;;begin python;;;;;;;;;;;;;;;;;;;

;; Added by Package.el.  This must come before configurations of
;; installed packages.  Don't delete this line.  If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(require 'package)
(add-to-list 'package-archives
             '("elpy" . "https://jorgenschaefer.github.io/packages/"))

(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/"))
(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize)

(setq elpy-rpc-python-command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3")
(setq python-shell-interpreter "/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython"
      python-shell-interpreter-args "-i --simple-prompt")
(package-initialize)

(when (require 'elpy nil t)
  (elpy-enable))
(setq elpy-rpc-backend "jedi")
(setq inhibit-startup-message t) ;; hide the startup message
(global-linum-mode t) ;; enable line numbers globally

;;;;;;;;;;;;;;;;;;;;;;;;;;end python;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;begin neotree;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/neotree")
(require 'neotree)
(global-set-key [f8] 'neotree-toggle)
(setq neo-smart-open t)
;;;;;;;;;;;;;;;;;;;;;;;;;;end neotree;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;start popup;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/popup-el")
(require 'popup)
;;;;;;;;;;;;;;;;;;;;;;;;;;end popup;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;end auto-complete;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/auto-complete")
(require 'auto-complete-config)
;;;;;;;;;;;;;;;;;;;;;;;;;;end auto-complete;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;begin java config;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;begin flycheck;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/flycheck")
(global-flycheck-mode)
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/exec-path-from-shell")
(exec-path-from-shell-initialize)
;;;;;;;;;;;;;;;;;;;;;;;;;;end flycheck;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;begin memoize;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/emacs-memoize")
(require 'memoize)
;;;;;;;;;;;;;;;;;;;;;;;;;;end memoize;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;begin dash;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/dash.el")
(require 'dash)
;;;;;;;;;;;;;;;;;;;;;;;;;;end dash;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;begin jdee;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/jdee")
(require 'jdee)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ajc-tag-file
   "/Users/micocube/.emacs.d/emacs-plugins/auto-java-complete/java_base.tag")
 '(jde-jdk
   (quote
    ("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home")))
 '(jde-jdk-registry
   (quote
    (("1.8" . "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"))))
 '(jdee-jdk-registry
   (quote
    (("1.8" . "/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"))))
 '(jdee-server-dir "/Users/micocube/.emacs.d/emacs-plugins/jdee-server/")
 '(package-selected-packages (quote (## elpy))))
;;;;;;;;;;;;;;;;;;;;;;;;;;end jdee;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;bengin auto-java-complete;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/auto-java-complete")
(require 'ajc-java-complete-config)
(add-hook 'java-mode-hook 'ajc-java-complete-mode)
(add-hook 'find-file-hook 'ajc-4-jsp-find-file-hook)
;;;;;;;;;;;;;;;;;;;;;;;;;;bengin auto-java-complete;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;end java config;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;begin go config;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;begin go-mode;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/go-mode.el")
(require 'go-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;end go-mode;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;begin goflymake;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/goflymake")
(require 'go-flymake)
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/goflymake")
(require 'go-flycheck)

(add-hook 'flymake-mode-hook
      (lambda()
        (local-set-key (kbd "C-c C-e n") 'flymake-goto-next-error)))
(add-hook 'flymake-mode-hook
      (lambda()
        (local-set-key (kbd "C-c C-e p") 'flymake-goto-prev-error)))
(add-hook 'flymake-mode-hook
      (lambda()
        (local-set-key (kbd "C-c C-e m") 'flymake-popup-current-error-menu)))
;;;;;;;;;;;;;;;;;;;;;;;;;;end goflymake;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;begin gocode;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/gocode/emacs")
(require 'go-autocomplete)
(ac-config-default)

(add-hook 'before-save-hook #'gofmt-before-save)
;;;;;;;;;;;;;;;;;;;;;;;;;;end gocode;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;end go config;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;begin material-theme;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/Users/micocube/.emacs.d/emacs-plugins/emacs-material-theme")
(require 'material-theme)
(load-theme 'material t)
;;;;;;;;;;;;;;;;;;;;;;;;;end material-theme;;;;;;;;;;;;;;;;;;;;
;; init.el ends here

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容