为emacs添加scala语法支持

spark是基于scala 2.9.3的,但scala2.9.3没有scala-tool-support。于是只好用scala-tool-support-2.10.3代替。


主要参考了http://www.douban.com/note/133904961/,谢谢itang同学的原文!


1. 下载scala-tool-support-2.10.3
    相关下载在这里:
    http://www.scala-lang.org/download/2.10.3.html#Other_resources
    下载scala-tool-support-2.10.3
    wget http://www.scala-lang.org/files/archive/scala-tool-support-2.10.3.tgz
    解压缩到指定目录
    tar xvf scala-tool-support-2.10.3.tgz


2. 配置emacs
    cd ~/.emacs.d
    wget http://yasnippet.googlecode.com/files/yasnippet-0.6.1c.tar.bz2


    tar -xjvf yasnippet-0.6.1c.tar.bz2
    ln -s yasnippet-0.6.1c yasnippet


    cp -r cp -r /home/brian/setup/scala/scala-tool-support-2.10.3/scala-emacs-mode/ ./scala-mode  ~/.emacs.d/scala-mode


    wget https://www.dropbox.com/sh/ryd981hq08swyqr/tMYHoSRqpY/ENSIME%20Releases/ensime_2.10.0-0.9.8.8.tar.gz
    tar xvf ensime_2.10.0-0.9.8.8.tar.gz
    ln -s ensime_2.10.0-0.9.8.8 ensime


3. 修改.emacs文件,添加代码


    ;;;;添加如下代码:
    ;; yasnippet
    (add-to-list 'load-path
                   "~/.emacs.d/yasnippet")
    (require 'yasnippet) ;; not yasnippet-bundle
    (yas/initialize)
    (yas/load-directory "~/.emacs.d/yasnippet/snippets")
    
    ;; scala-mode
    (add-to-list 'load-path "~/.emacs.d/scala-mode")
    (require 'scala-mode-auto) ;; 编辑.scala文件时自动启动scala mode
    
    ;; scala yasnippet
    (setq yas/my-directory "~/.emacs.d/scala-mode/contrib/yasnippet/snippets")
    (yas/load-directory yas/my-directory)
    (add-hook 'scala-mode-hook
                '(lambda ()
                   (yas/minor-mode-on)
                   ))
                   
    ;; scala-ensime
    (add-to-list 'load-path "~/.emacs.d/ensime/elisp")
    (require 'ensime)
    (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)  ;; scala mode下自动启动ensime
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值