Learn Nim As A Newbie(Part 2)

Preface


前面我们介绍了Nim的基本概况和安装流程,以及它的包管理工具Nimble
这次,我们开始为编写Nim代码做一些准备工作。

Getting Started


Nim IDE or Editor?


在写代码之前,得找一个像样点的IDE或者编辑器。对于一门新生的语言,Nim官网提供了一个解决方案--Aporia IDE 。但聪明的网友也开发出了支持Sublime TextAtom的插件,它们各有优劣,我们各取所需。

  • 1、Aporia IDE
    这是一个官方发布的Nim IDE,但是Aporia对于Mac OSX的支持实在是糟糕到令人发指的地步。首先按照官方的说明,使用以下指令安装:
nimble install aporia@#head

但是还有一大堆的问题。比如有这样的:

$ aporia
could not import: iconv_open

还有这样的:

$ aporia
could not load: libgdk-x11-2.0.dylib

好吧,根本就不能用!!!仔细查查,原来是这个原因吧:

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.因为MacPorts已经不支持安装这两个东西了。找找看,homebrew有倒是有了,But it doesn't work anyway. 去issues里面找答案,Finally I got this:

Learn Nim As A Newbie(Part 2)_第1张图片
aporia error.png

原来是 Aporia之于 Mac OSX需要特定版本的 GTK依赖和 libiconv库,但是 But no one knows which version to choose. 坑爹啊!!!实在折腾不起,果断弃坑。

  • 2、NimLime for Sublime Text2/3
    既然Aporia对Mac党这么不友好,索性就找找插件吧,于是NimLime就出现在我的视线里了。
    正如官方所言,NimLime是一款这样的插件:

    Super Nim Plugin for Sublime Text 2/3,
    它有如下特征:

    • Syntax highlighting [语法高亮]
    • Jump to definition [跳转定义]
    • Auto-Completion [自动补齐]
    • Error checking and highlighting [错误检测和高亮]
    • Nimble package manager integration [集成Nimble]

    不错,用于编辑,这些功能已经足够了。这里简单介绍以下安装流程:

  • 打开 Package Control: Add repository

  • 在输入框填入项目地址:https://github.com/Varriount/NimLime

  • 打开 Package Control: Install

  • 输入:NimLime

  • 等待安装完成 ...

  • 3、Nim For Atom
    可惜我是Atom党,在Sublime眼里,或许Atom还不够强大,但其靠山GitHub却是必须支持的。Atom将包管理集成到Setting中,并且使用详细的图形界面展示和管理插件列表,强大且直观。而且Sublime多数插件也移植过来了,易用性自然是不用说了。没用过的同学可以试试。
    好吧,既然Sublime有插件,Atom应该也有吧。抱着这种侥幸心理,我们搜索nim,啊哈,果然不负所望啊,就是这个了!

    Learn Nim As A Newbie(Part 2)_第2张图片
    nim For Atom .png

    可以看到,除了包含了NimLime的功能外,它还提供了丰富的配置,并且可选开启NimSuggest [An idetools for the nim language].
    我们写点东西来看下效果:
    Learn Nim As A Newbie(Part 2)_第3张图片
    Test Nim For Atom.png

    嗯,果然很nice。

Conclusion

今天主要介绍了编写Nim的几款IDE或Editor,它们各有所长,各有专精,全凭看官们的喜好了。反正我是Atom党,Again。

今天仍然没有介绍任何语法内容。╮(╯╰)╭。。。
到底什么时候说话才算数呢?且行且看Part3吧。
毕竟我也不知道。╮(╯╰)╭。。。

你可能感兴趣的:(Learn Nim As A Newbie(Part 2))