Где программировать с помощью Nim (linux)?

#ide #debian #nim-lang

#ide #debian #nim-lang

Вопрос:

Только что закончил полную установку языка Nim в мой Debian GNU / linux и немного запутался, не найдя никаких наборов для разработки или хотя бы консольных команд, чтобы попробовать некоторые сценарии… Разве это не должно быть включено в установочные пакеты?

Поэтому я буду благодарен за любой совет, как выбрать между всеми доступными IDE или интерфейсами для кодирования с помощью Nim в Linux.

Комментарии:

1. Взгляните на эту статью для дальнейшего изучения: matthiashager.com/gui-options-for-nim

2. Это будет быстро закрыто. Вы можете выбирать между vim, emacs, visual studio… Я с удовольствием использую плагины neovim nim.nvim syntastic asyncomplete.

3. PyCharm имеет дополнительный бесплатный плагин Nim.

Ответ №1:

Основной точкой входа в Nim является nim команда. Пока у вас есть это, вы можете правильно компилировать и запускать программы nim:

 $ cat > test.nim
echo "Hello nim!"
$ nim c -r test.nim
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: test.nim
Hint:  [Link]
Hint: 14205 LOC; 1.218 sec; 20.496MiB peakmem; Debug build; proj: /private/tmp/t/test.nim; out: /private/tmp/t/test [SuccessX]
Hint: /private/tmp/t/test  [Exec]
Hello nim!
$ 
  

Вы также можете встроить это в качестве дополнения в исполняемый hi.nim файл и запустить его:

 #!/usr/bin/env nim c --hints:off -r

echo "Hi nim scripting!"
  

Но вы получите скомпилированный двоичный файл без .nim расширения исходного файла, так что это неудобно для написания сценариев.

ОБНОВЛЕНИЕ: как предложено @shirleyquirk, вы также можете сохранять .nims файлы с помощью специального shebang, который будет запускать их как NimScript, который имеет некоторые ограничения по сравнению с обычным кодом Nim, но должен подходить для большинства, если не для всех типичных сценариев.

Комментарии:

1.если вы измените файл сценария на hi.nims вам не нужен c -r , и он также не создаст двоичный файл. Мне пришлось перейти к -S env #!/usr/bin/env -S nim --hints:off echo "Hi nim scripting"

2. @shirleyquirk у моего компилятора nim (1.2.6) нет такой опции, и это не задокументировано на nim-lang.org/docs/nimc.html либо. Является -S ли экспериментальная функция в ветке разработки? Я нахожу это по адресу nim-lang.org/docs/nims.html хотя…

3. -S — это параметр, отправляемый env для «передачи нескольких аргументов в строках shebang» man7.org/linux/man-pages/man1/env.1.html

Ответ №2:

Насколько мне известно, Nim не входит ни в какие наборы для разработки. Однако существует множество редакторов с дополнениями Nim. Сюда входят самые популярные редакторы, такие как VSCode, emacs или vim.

Если вы хотите, вы можете просто использовать терминал в качестве интерфейса с простым редактором.