emacs cask

2017-01-11 15:23:12来源:oschina作者:cnsworder人点击



![](/2014th7cj/d/file/p/20170111/4zznqmescdt.jpg)emacs cask 是 emacs 的一个包管理工具,他的描述文件是 ``Cask`` . 他主要的开发语言是 ``python`` 。
我的emacs配置地址: https://github.com/cnsworder/crossemacs
## 安装
安装方法有三种,分别是:
### 直接下载安装脚本
```
$ curl -fsSkL https://raw.github.com/cask/cask/master/go | python
```
### github clone安装
```
$ git clone https://github.com/cask/cask.git ~/.cask
```
### Mac OS 上 homebrew 管理器安装
```
$ brew install cask
```如果 cask 不在你的命令路径下,需要添加到 ``PATH`` 中。
```
$ export PATH="/path/to/code/cask/bin:$PATH"
```## 升级 cask
```
$ cask upgrade-cask
```## 使用
### 初始化
在cask使用前需要一个 ``Cask`` 文件来描述emacs使用的包,这个文件可以用下面的指令来生成:
```
$ cask init [--dev]
```
emacs 在使用了 cask 后会从 `` ~/.emacs.d`` 目录下找 ``Cask`` 文件和 ``.cask`` 目录,所以把 ``Cask`` 文件放到 ``~/.emacs.d`` 目录下。
> --dev 表示是否开发模式
### 安装插件包
```
$ cask install
```
它会根据 ``Cask`` 文件定义将依赖包下载到 ``.cask/${VERSION}``目录下,其中 ``${VERSION}`` 是当前使用 emacs 的版本号。
```
$ EMACS="$(evm bin emacs-24.1)" cask
```
当然也可以直接指定版本。
### emacs 配置
将下面的代码放到 ``.emacs`` 中
```
(require 'cask "~/.cask/cask.el")
(cask-initialize)
```
### 升级插件
```
$ cask upgrade
```
### 其他指令
#### 帮助
```
$ cask help
```
#### 执行emacs命令
```
$ cask exec echo foo
$ cask exec ecukes --script --reporter gangsta
$ cask exec ert-runner --pattern performance
```
#### 插件列表
```
$ cask list
```
## Cask 配置文件选项
#### source
定义包管理源
```
(source ALIAS)
(source NAME URL)
```
如:
```
(source melpa)
(source "melpa" "http://melpa.milkbox.net/packages/")
```
#### package
开发模式下,定义一个包
```
(package NAME VERSION DESCRIPTION)
```#### package-file```
(package-file FILENAME)
```#### depends-on
添加依赖,这是重点使用到的```
(depends-on NAME [ARGS])
```使用实例:```
(depends-on "ecukes")
(depends-on "magit" "0.8.1")
(depends-on "magit" :git "https://github.com/magit/magit.git")
(depends-on "magit" :git "https://github.com/magit/magit.git" :ref "7j3bj4d")
(depends-on "magit" :git "https://github.com/magit/magit.git" :branch "next")
(depends-on "magit" :git "https://github.com/magit/magit.git" :files ("*.el" (:exclude "magit-svn.el")))
```#### development
开发模式的定义.```
(development [DEPENDENCIES])
```例子:```
(development
(depends-on "ecukes")
(depends-on "ert-runner"))
```#### files
加载文件```
(files [FILES])
```

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台