windows下怎么用rebar工具创建erlang工程,我把rebar下下来就不知道怎么弄了

windows下怎么用rebar工具创建erlang工程,我把rebar下下来就不知道怎么弄了,第1张

rebar 目前不能在windows安装,rebar的安装文件是二进制可执行文件,不是.exe,windows不能执行。

不过,你可以在windows下模拟Linux环境。

BTW,Erlang开发在windows下是很蛋疼的一件事。

https://praglowski.com/2016/05/10/your-first-erlang-application-with-rebar3

https://github.com/erlang/rebar3/issues/1740

https://www.rebar3.org/docs/basic-usage

根据目标,这里创建 app 类型的应用,当然也可以创建 escript、lib、release、plugin 类型的应用,这个要根据实际情况而定。关于应用类型,详情参考 docs.basic-usage

配置Vim/Erlang

下面开始为Erlang开发配置Vim。为了后续能更方便地安装各种插件包,我们先安装pathogen。首先创建一个目录 $HOME/.vim/autoload。然后从这里下载pathogen.vim并把它放在刚刚创建的目录下。再在$HOME/.vimrc文件中加入下面两行命令.

call pathogen#infect()

call pathogen#helptags()

有了这个之后,任何插件,你只需要放置在$HOME/.vim/bundle目录下,pathogen便会自动安装并且生成帮助文档。

安装了这些之后,我们可以开始安装其他插件,让你的生活更有趣。试下这些插件,直接clone对应的git资源库到目录$HOME/.vim/bundle下即可。下次你启动Vim,这些插件就会自动生效。

vimerl.vim缩进, 自动补全等其他更多的Erlang效果

ctrlp.vimctrl p, 提供给力的模糊文件查找. 进而可以把导航树扔掉.

NERDTreeVim中一款给力导航树插件 – 但我很少用它,因为我在用ctrlp.

NERDTree Tabs将 NERDTree中打开过的文件添加到标签栏

在我们讨论关于如何使用这些插件来创造Erlang魔法效果的基础前,我想给你们展示两个我很喜欢的小技巧。第一个,配置一个好看的色彩主题。为此,需要创建一个$HOME/.vim/colors目录,然后给你自己找个华丽的色彩主题扔进去。我推荐TPope的vividchalk.vim.

(译者注:需要在 $HOME/.vimrc 中增加一行命令:colo vividchalk )

Pro Tip

对于dropbox或者其他文件同步服务的用户,可以通过下面的简易方式来同步备份你的vim的所有配置;把你的 .vim 目录和 .vimrc 配置文件移到你的dropbox目录下。然后执行命令:

ln -s ~/Dropbox/.vim ~/.vim

ln -s ~/Dropbox/.vimrc ~/.vimrc

现在你所有的机器上的vim都会运行同一份配置。如果你还有某些兼容性问题,那就单独处理下那台机器吧。

好了,现在该讲讲如何使用这些插件来强大Erlang/Vim。

如何使用Vim插件来进行Erlang开发

我将使用source for Erlware Commons 来作为示例。我把它clone下来,然后转到目录 erlware_commons,再运行 Vim.现在让我告诉你我要更新哪个文件,那是个特殊的文件 “ec_date.erl”。我先输入P(译者注:进入vim后,输入冒号:进入命令模式,输入CtrlP,然后按Enter键),再开始输入ec_date.erl。

[No Name] [TYPE= unix] [0/1 (100%)]

>test/ec_dictionary_proper.erl

>src/ec_dictionary.erl

>src/ec_date.erl

prt path ={ files }= >>ec_da

你可以看到,当我开始输入“ec_da”时,ctrlp已经展开了一个匹配文件下拉列表,这些文件都是在我启动vim的目录树下。在底部的文件 ec_date.erl是当前选中的,所以只需要按Enter键就可以打开这个文件了。如果我想选择文件 “test/ec_dictionary_proper.erl”,我只需要按上下键来选择,或者继续输入搜索内容,直到它是最后一个文件。

如果我不知道该选择哪个文件怎么办?这就轮到NERDTree上场了。运行 :NERDTree, 你会得到一个文件目录,比如:

Press ? for help |

|~

.. (up a dir) |~

<lang-projects/erlware_commons/|~

▸ doc/ |~

▸ priv/|~

▸ src/ |~

▸ test/|~

CONTRIBUTING.md |~

COPYING |~

Makefile |~

README.md|~

rebar.config |~

rebar.config.script |~

~ |~

~ |~

~ |~

从上面我们可以看到Erlware Commons的文件目录树。可以很容易地选择或者展开每一个目录。每一个文件都可以选中后打开。打开一个文件有很多方式,下面是一些常用的:

<enter>在当前窗口打开文件

T 在vim新标签页打开文件,光标停留的目录树NERDTree

t 在vim新标签页打开文件,光标也跳转到新标签页

如果你想在所有的标签页都能看到目录树,你可以使用命令:NERDTreeTabsToggle来开启和关闭。所有的标签中的目录树都是显示同 一个状态和光标焦点。如果你正在某一标签页进行代码编写,而你想跳回到左边的目录树窗口,可以使用快捷键<ctrl>ww。

如果你已经打开过一堆标签页,而你又需要在不同标签页中跳转,那么只需要下面两个命令就可以实现:

gt 跳转到下一个标签页

gT 跳转到上一个标签页

Pro Tip

把下面的内容加入你的.vimrc文件,可以NERDTree的标签页的跳转命令映射到tab键。

map <C-t>:tabn<Enter>

map <C-n>:tabnew<Enter>

map nt :NERDTreeTabsToggle<Enter>

下面,可以开始讨论用vimerl来编写Erlang。

使用vimerl编码

这里不会列出vimerl所有的的编辑命令,而是提一些非常有用的。20%的命令,你会在80%时间里用到。

自动缩进

你输入时,vimer会自动缩进。但如果你想对指定某行进行缩进,输入==。假设你想对一整块代码进行缩进。这很容易办到,输入ma标记最开始 的一行,然后跳转到最后一行,输入命令=‘a,告诉vimerl进行缩进。如果整个文件排版都是乱糟糟的,输入gg跳转到文件的最开始,输入命令=G进行 缩进,一直到文件尾。你也可以只用一步达到这个效果,输入命令gg=G即可。

代码补全

输入完模块的名字已经冒号(:)号,按 ctrl-x ctrl-o,会触发vimerl给你d出一些建议函数名。他通过查找erlang代码目录(用code:get_path() 查代码目录)下的.beam和.erl文件做到的,如果你项目中有配置 rebar.config,也会查找你的rebar的deps_dir目录。

框架

这是emacs的Erlang模式里我最喜欢的特性,当然还有自动缩进(大部分时候,fun()的缩进仍然让人咬牙切齿)。下面这个列表里的是最有用的框架以及在vimerl里生成这些框架的命令。

1、ErlangApplication 生成一个行为模式为OTP应用程序行的框架。

2、ErlangSupervisor 生成一个行为模式为OTP监督树的框架。

3、ErlangGen[Server|Fsm|Event] 生成gen_server,fsm,event框架。

Vimerl是不是太聪明了。在你阅读完之前,我想让你知道一条非常有用的,而且你应该知道的命令,那就是 :help vimerl, 它会给你一个命令列表,里面有所有你想用的。记住,想要让它能正常使用,你需要在你的.vimrc文件的最开始增加设置


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11422386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存