Preface
前面我們介紹了Nim的基本概況和安裝流程,以及它的包管理工具Nimble气忠。
這次,我們開(kāi)始為編寫(xiě)Nim代碼做一些準(zhǔn)備工作第租。
Getting Started
Nim IDE or Editor?
在寫(xiě)代碼之前膀息,得找一個(gè)像樣點(diǎn)的IDE或者編輯器般眉。對(duì)于一門(mén)新生的語(yǔ)言,Nim官網(wǎng)提供了一個(gè)解決方案--Aporia IDE 潜支。但聰明的網(wǎng)友也開(kāi)發(fā)出了支持Sublime Text和Atom的插件甸赃,它們各有優(yōu)劣,我們各取所需冗酿。
-
1埠对、Aporia IDE
這是一個(gè)官方發(fā)布的Nim IDE,但是Aporia對(duì)于Mac OSX的支持實(shí)在是糟糕到令人發(fā)指的地步裁替。首先按照官方的說(shuō)明项玛,使用以下指令安裝:
nimble install aporia@#head
但是還有一大堆的問(wèn)題。比如有這樣的:
$ aporia
could not import: iconv_open
還有這樣的:
$ aporia
could not load: libgdk-x11-2.0.dylib
好吧弱判,根本就不能用=缶凇!昌腰!仔細(xì)查查开伏,原來(lái)是這個(gè)原因吧:
Since Aporia uses gtk, and gtk is not easy to compile natively under MacOSX (yet), your best bet is to install Macports and then install the gtk libraries through the following commands:
port install gtksourceview2 libiconv
But it doesn't work anyway.因?yàn)?strong>MacPorts已經(jīng)不支持安裝這兩個(gè)東西了。找找看遭商,homebrew有倒是有了固灵,But it doesn't work anyway. 去issues里面找答案,F(xiàn)inally I got this:
原來(lái)是Aporia之于Mac OSX需要特定版本的
GTK
依賴(lài)和libiconv
庫(kù)劫流,但是But no one knows which version to choose. 坑爹拔撞!!l艋恪大审!實(shí)在折騰不起,果斷棄坑座哩。
-
2徒扶、NimLime for Sublime Text2/3
既然Aporia對(duì)Mac黨這么不友好,索性就找找插件吧根穷,于是NimLime就出現(xiàn)在我的視線里了姜骡。
正如官方所言,NimLime是一款這樣的插件:Super Nim Plugin for Sublime Text 2/3屿良,
它有如下特征:- Syntax highlighting [語(yǔ)法高亮]
- Jump to definition [跳轉(zhuǎn)定義]
- Auto-Completion [自動(dòng)補(bǔ)齊]
- Error checking and highlighting [錯(cuò)誤檢測(cè)和高亮]
- Nimble package manager integration [集成Nimble]
不錯(cuò)圈澈,用于編輯,這些功能已經(jīng)足夠了尘惧。這里簡(jiǎn)單介紹以下安裝流程:
打開(kāi) Package Control: Add repository
在輸入框填入項(xiàng)目地址:https://github.com/Varriount/NimLime
打開(kāi) Package Control: Install
輸入:NimLime
等待安裝完成 ...
-
3康栈、Nim For Atom
可惜我是Atom黨,在Sublime眼里,或許Atom還不夠強(qiáng)大啥么,但其靠山GitHub卻是必須支持的登舞。Atom將包管理集成到Setting中,并且使用詳細(xì)的圖形界面展示和管理插件列表悬荣,強(qiáng)大且直觀菠秒。而且Sublime多數(shù)插件也移植過(guò)來(lái)了,易用性自然是不用說(shuō)了氯迂。沒(méi)用過(guò)的同學(xué)可以試試践叠。
好吧,既然Sublime有插件嚼蚀,Atom應(yīng)該也有吧禁灼。抱著這種僥幸心理,我們搜索nim
轿曙,啊哈弄捕,果然不負(fù)所望啊,就是這個(gè)了拳芙!
可以看到察藐,除了包含了NimLime的功能外皮璧,它還提供了豐富的配置舟扎,并且可選開(kāi)啟NimSuggest [An idetools for the nim language].
我們寫(xiě)點(diǎn)東西來(lái)看下效果:
嗯,果然很nice悴务。
Conclusion
今天主要介紹了編寫(xiě)Nim的幾款I(lǐng)DE或Editor睹限,它們各有所長(zhǎng),各有專(zhuān)精讯檐,全憑看官們的喜好了羡疗。反正我是Atom黨,Again别洪。
今天仍然沒(méi)有介紹任何語(yǔ)法內(nèi)容叨恨。╮(╯╰)╭。挖垛。痒钝。
到底什么時(shí)候說(shuō)話才算數(shù)呢?且行且看Part3吧痢毒。
畢竟我也不知道送矩。╮(╯╰)╭。哪替。栋荸。