If you add more editor support, don't forget to add it to the [FAQ](https://github.com/Araq/Nim/blob/devel/web/question.rst) as well. 

The following editors have some Nim support:

### Visual Studio Code aka VSCode

* https://marketplace.visualstudio.com/items?itemName=kosz78.nim (Nim Extension)

 * Syntax Highlight (nim, nims, nimble, nim.cfg)
 * Code Completion
 * Goto Definition
 * Find References
 * File outline
 * Lint-on-save (optional)
 * Build-on-save and / or hotkey (optional)
 * Workspace symbol search

* Related extensions and information for Nim with VSCode

 * https://code.visualstudio.com (editor homepage)
 * https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow (indent visualizer)
 * https://marketplace.visualstudio.com/items?itemName=mattn.Runner (code runner)
 * https://marketplace.visualstudio.com/items?itemName=webfreak.debug (debugger)
 * http://forum.nim-lang.org/t/2061 (Nim Forum Thread)

### Emacs
* https://github.com/nim-lang/nim-mode (requires emacs 24.4)
* https://github.com/jameshfisher/nimrod-mode (works with emacs 23 too, as of 2014-02-15)

### Vim
* https://github.com/zah/nim.vim/

  * Syntax Highlighting
  * Auto-indent
  * Build/Jump to errors within Vim
  * Project Navigation and Jump to Definition (using the Ctags support listed below or [Nim's idetools](http://nim-lang.org/idetools.html) command)

* https://github.com/baabelfish/nvim-nim

  A very new plugin for Vim and Neovim, still in heavy development.

* http://gradha.github.io/articles/2014/02/invoking-dash-from-the-command-line-vim.html

  Instructions to map Vim's ``K`` letter to look up documentation under MacOSX using [Dash](http://forum.nim-lang.org/t/330).

### LiClipse
* http://www.liclipse.com

LiClipse is a plugin for Eclipse (which also provides a standalone version for convenience) which provides Nim support providing syntax-highlighting, outline, comment/uncomment (ctrl+/), select/deselect scope (Shift+Alt+Up/Down), auto-indent, mark occurrences, user templates, multiple cursors (Ctrl+K or Ctrl+Alt+mouse select) and indent guides.

### Scite
Recent versions of Scite have out-of-the-box support for Nim. For older versions: <br />
http://sourceforge.net/p/scintilla/scite/ci/default/tree/src/nimrod.properties?format=raw

To enable nim, edit the global config file: *(from http://forum.nim-lang.org/t/312)*
   * remove nimrod from the list in  `imports.exclude=(...lots of stuff)` 
   * edit `source.files` to make scintilla recognise .nim

### Aporia
Aporia is a Nim IDE written in Nim.

https://github.com/nim-lang/Aporia/

### LightTable
https://github.com/zah/nim.lt/

### Atom
* https://github.com/russpowers/nim-atom
  * Autocomplete
  * Linting/Error Checking (on file save or on-the-fly)
  * Jump-to-definition
  * Syntax highlighting

* https://github.com/zah/nim.atom/

### Gedit/Other GtkSourceView editors
There is a .lang file for gedit [here](https://github.com/nim-lang/Aporia/blob/master/share/gtksourceview-2.0/language-specs/nim.lang)

### Geany
There is a [pull request](https://github.com/geany/geany/pull/193) to provide Nim support in [Geany](http://www.geany.org).

### Ctags
Basic ```~/.ctags``` rules for Nim code (Feel free to improve and contribute)
Don't use this if possible, [Nim idetools](http://nim-lang.org/docs/idetools.html) provides better results.

```
--langdef=nim
--langmap=nim:.nim
--regex-nim=/(\w+)\*?\s*=\s*object/\1/t,class/
--regex-nim=/(\w+)\*?\s*=\s*enum/\1/t,enum/
--regex-nim=/(\w+)\*?\s*=\s*tuple/\1/t,tuple/
--regex-nim=/(\w+)\*?\s*=\s*range/\1/t,subrange/
--regex-nim=/(\w+)\*?\s*=\s*proc/\1/t,proctype/
--regex-nim=/proc\s+(\w+)/\1/f,procedure/
--regex-nim=/method\s+(\w+)/\1/f,method/
--regex-nim=/proc\s+`([^`]+)`/\1/o,operator/
--regex-nim=/template\s+(\w+)/\1/t,template/
--regex-nim=/macro\s+(\w+)/\1/m,macro/
```

Alternatively, there's a native tags generator specifically for Nim: https://bitbucket.org/nimcontrib/ntags

### jEdit
https://github.com/exhu/nimrod-misc/tree/master/jedit

### Sublime
* https://github.com/Varriount/NimLime

  **NimLime** is a Sublime Text plugin that supports:
    * Syntax highlighting
    * Go to definition
    * Error checking and highlighting through the compiler
    * Completion suggestions though the compiler
    * Babel package manager interaction

* https://github.com/leonardoce/nimrod-sublime

### Kate

Syntax highlighting:

https://github.com/PhilipWitte/NimKate  

### TextMate

Available from the bundle installer in preferences ([repository](https://github.com/textmate/nim.tmbundle)).

### QtCreator
https://github.com/filcuc/NimQtCreatorPlugin

QtCreator plugin that supports:

* Syntax highlighting
* Indentation
* Project management (build/run configuration)
* Debug with gdb

### KDevelop
https://github.com/xyz32/KDevelop-template

Demo: https://vimeo.com/135918228

KDevelop templates for Nim project and Nim file:

* Project management (build/run configuration)
* New nim file
* Debug with gdb (You will need to uncomment the debug flag in the nim.cfg file)
* Syntax Highlighting (Needs [Kate syntax highlighting](https://github.com/nim-lang/Nim/wiki/Editor-Support#kate)).

Make sure you have both Nim and Nimble installed.

### Howl

http://howl.io

Recent versions of Howl have built-in Nim syntax highlighting.

### Notepad++
Support Nim syntax highlighting and code folding via a plugin written entirely in Nim!.

* Download available [here](https://github.com/jangko/nppnim/releases)
* Source code available [here](https://github.com/jangko/nppnim)