#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.
Если вы хотите, вы можете просто использовать терминал в качестве интерфейса с простым редактором.