Nim 언어
Nim은 우아한 python-like 문법을 제공하면서, C에 준하는 생산성을 지향하는 언어입니다.
본래 Nimrod라는 이름으로 2008년 공개되었고, 이후 2014년에 Nim이라는 이름으로 변경되었습니다.
런타임 실행속도 벤치마크를 하면 극상위권에 항상 존재하는 언어이면서, 저평가된 언어라는 평이 많습니다.
국내에는 한국어로 된 학습자료나 튜토리얼이 없는데, 앞으로 시간이 나는대로 Nim 공식 튜토리얼을 기반으로 만들어볼까 합니다.
사견이나 보충설명도 제가 넣을 예정인데, 특히 사견임을 강조할 때는 보라색으로 표시하겠습니다.
Nim 설치방법
Nim을 설치하는 방법은 아주 간단합니다.
아래 페이지에서 자신의 운영체제에 맞는 방법을 따라서 설치하면 됩니다.
https://nim-lang.org/install.html
Download
The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.
nim-lang.org

choosenim으로 설치하는 방법
저는 처음에 `brew install nim`으로 설치를 했다가, helix에서 사용할 language server를 설치하다가 경로가 꼬였습니다.
그래서 choosenim으로 Nim을 설치하게 되었는데, 그 방법도 같이 써두겠습니다.
```bash
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
choosenim 2.2.4
export PATH="$HOME/.nimble/bin:$HOME/.choosenim/toolchains/nim-2.2.4/bin:$PATH"
hash -r
nim -v # 2.2.4가 나와야 함
```
그 다음 `nimble`로 nimlsp를 설치합니다. `nimble`은 python의 pip, ruby의 gem, nodejs의 npm과 같은 패키지 관리자입니다.
```bash
nimble refresh
nimble install nimlsp
nimlsp --version
```
```bash
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
nim -v # 정상설치라면 버전이 출력됨
nimble install nimlsp # LSP
export PATH=$HOME/.nimble/bin:$PATH
source ~/.zshrc # zsh쉘의 경우
```
그리고 Homebrew로 설치한 Nim은 `brew uninstall nim`로 삭제하였습니다.
helix에 LSP 추가하기
nimlsp 정상설치 여부를 먼저 확인하세요.
```bash
which nimlsp
nimlsp --version
```
helix에서 lsp를 사용하려면, `~/.config/helix` 아래에 `LANGUAGES.toml` 파일을 만들어줍니다.
```toml
[[language]]
name = "nim"
language-servers = [ "nimlsp" ] # ← 언어가 여러 개인 경우 리스트로 작성
[language-server.nimlsp]
command = "nimlsp"
```
VSCode 개발환경 설정
extension 중에 nim-lang.org를 설치하시거나, Nim (nimsaem이 작성)을 설치하시면 됩니다.
Code Runner도 설치해두는 게 좋습니다.
Code Runner의 기본 설정은 아래와 같이 되어 있습니다.
다른 방식으로 수정해도 되지만, 일단은 그냥 사용하고 최적화 등 다른 옵션이 필요하면 그때 직접 타이핑해서 컴파일하거나 settings.json을 수정하면 될 것 같습니다.
```json
".nim": "nim compile --verbosity:0 --hints:off --run",
```
'Programming Languages > Nim' 카테고리의 다른 글
| [Nim 언어 강좌] 제어문(2) - 반복문, 스코프 (0) | 2025.09.26 |
|---|---|
| [Nim 언어 강좌] 제어문(1) - 조건문 (0) | 2025.09.25 |
| [Nim 언어 강좌] 변수/상수 선언과 할당 (0) | 2025.09.24 |
| [Nim 언어 강좌] 어휘 요소 (0) | 2025.09.23 |
| [Nim 언어 강좌] 첫 번째 프로그램 (0) | 2025.09.22 |