# What if I want a simpler IDE for Julia?

**URL:** <https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142>\
**Category:** Juno\
**Created:** [November 16, 2019, 2:15am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142 "2019-11-16T02:15:49Z")\
**Posts on this page:** 20\
**Page:** 6

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 19, 2019, 12:06pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/101 "2019-11-19T12:06:20Z")

</div>

Is there a video of vim plus Julia? I cannot visualize what it looks like.  
I know of `:terminal`. Is that what you use?

I tried to find something like this on the web, but no luck so far. Any information you might provide could be useful to those who are unsure of what vim could offer to Julia programmers. (Including me, of course.) Thanks!

---

<div class="post-metadata">

**Author:** ![philipp\_polterauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/philipp_polterauer/32/11393_2.png) [@philipp\_polterauer](https://discourse.julialang.org/u/philipp_polterauer)\
**Post date:** [November 19, 2019, 12:15pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/102 "2019-11-19T12:15:06Z")

</div>

I would be really interested as well!  
I already installed neovim (on windows 10) and made your init.vim work. But i still struggle to get a good workflow.

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [November 19, 2019, 2:06pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/103 "2019-11-19T14:06:04Z")

</div>

It’s a bit old, but it’s a video: [untitled - asciinema](https://asciinema.org/a/688g8iyhj1idrtz8ooptr6iso) showing Vim with vim-julia and [https://github.com/JuliaEditorSupport/deoplete-julia](https://github.com/JuliaEditorSupport/deoplete-julia)

Or another one (which is more recent): [https://github.com/autozimu/LanguageClient-neovim](https://github.com/autozimu/LanguageClient-neovim)

---

<div class="post-metadata">

**Author:** ![mschauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mschauer/32/13946_2.png) [@mschauer](https://discourse.julialang.org/u/mschauer)\
**Post date:** [November 19, 2019, 3:30pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/104 "2019-11-19T15:30:10Z")

</div>

If you are _greedy_ in the [Julia sense of the word](https://julialang.org/blog/2012/02/why-we-created-julia), especially if you want for example

- open source, with a liberal license.
- speed, low latency, moderate use of resources
- general, not bound to a programming language, yet good interface to and scripting in Julia
- clean, modern and transparent implementation
- native interface on many systems
- ergonomic, respecting muscle memory from other applications and where `up` is above `down` and not left of `down`

then that editor has to be still created. In the meantime one has to go with one of the solutions offered here.

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [November 19, 2019, 3:55pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/105 "2019-11-19T15:55:06Z")

</div>

> [@PetrKryslUCSD](#):
>
> Is there a video of vim plus Julia? I cannot visualize what it looks like.  
> I know of `:terminal` . Is that what you use?

I just run the REPL in a separate terminal.

I use i3 to manage windows, so it doesn’t make much of a difference to me whether things are in the same window or separate windows, it’s a lot like navigating vim regardless. If you are stuck with MacOS or something, you could always use workspaces. You can find my setup [here](https://github.com/expandingman/dotfiles).

---

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [November 19, 2019, 5:03pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/106 "2019-11-19T17:03:27Z")

</div>

> [@mschauer](#):
>
> ergonomic, respecting muscle memory from other applications and where `up` is above `down` and not left of `down`

For what it’s worth, vi can be operated perfectly fine using arrow-keys instead of hjkl.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 19, 2019, 6:00pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/107 "2019-11-19T18:00:38Z")

</div>

> [@mschauer](#):
>
> then that editor has to be still created.

Nay. It was done around 1991. 😉

 ![](https://global.discourse-cdn.com/julialang/original/3X/9/2/92d2c8b39d64bcb4d87c97acdbafe6953a54c677.png)

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [November 19, 2019, 6:04pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/108 "2019-11-19T18:04:47Z")

</div>

> [@non-Jedi](#):
>
> For what it’s worth, vi can be operated perfectly fine using arrow-keys instead of hjkl.

And you can remap any command to literally any key.

---

<div class="post-metadata">

**Author:** ![magister-ludi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/magister-ludi/32/4003_2.png) [@magister-ludi](https://discourse.julialang.org/u/magister-ludi)\
**Post date:** [November 20, 2019, 1:25am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/109 "2019-11-20T01:25:28Z")

</div>

> [@PetrKryslUCSD](#):
>
> For Windows users it is only vim, I’m afraid.

That’s a surprising thing to suggest. I’ve only mastered vim to the extent that I can do basic edits, but dislike its modal style. I’m a long term user of emacs, and have set up my `.emacs` to my satisfaction.

Because I also like un\*x-style tools, I run Cygwin on my Windows box, and develop my Julia code using Cygwin emacs, and a Windows Julia REPL window. I haven’t tried julia-repl for emacs, but can easily run Julia scripts from within emacs.

I haven’t tried all of this with a Windows emacs, so I can’t speak to that.

---

<div class="post-metadata">

**Author:** ![favba](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/favba/32/2735_2.png) [@favba](https://discourse.julialang.org/u/favba)\
**Post date:** [November 20, 2019, 3:22am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/110 "2019-11-20T03:22:21Z")

</div>

Just one more testimony regarding VS Code.  
I was a Atom user and changed to VS Code solely because of speed.  
But I am am very happy with VS Code now for several other reasons. I use it all the time with julia, fortran, c++ and latex codes. There are powerful plugins for all of them. I use a vim extension that works really well. I’m not an advanced vim user, but so far, I haven’t find anything that I could do with vim that I wasn’t able to do with VS code’s vim plugin.  
And recently, VS code folks developed an extension that makes VS code work almost flawlessly remotely, without almost any slowdown whatsoever. I am pretty amazed with the it.

Ps: Atom and Juno still have a special place in my heart and still hope to see it thrive.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 20, 2019, 6:41am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/111 "2019-11-20T06:41:08Z")

</div>

That is precisely my point: the Julia repl does not work in Emacs on Windows.

> [@Julia-repl (Emacs) new release candidate - testers needed](https://discourse.julialang.org/t/julia-repl-emacs-new-release-candidate-testers-needed/7097/16):
>
> I have tried many things. Apparently the Windows Emacs does not handle bash well. I keep getting the error Spawning child process: invalid argument Even starting a shell in Emacs and then trying to run Julia doesn’t work: the process cannot be communicated with.

---

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [November 20, 2019, 7:03am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/112 "2019-11-20T07:03:11Z")

</div>

This is somewhat surprising to me. I know of no reason it shouldn’t work. Which doesn’t work?

- `inferior-julia-mode` bundled with `julia-mode`
- `julia-repl` package
- emacs-jupyter (`jupyter` package on melpa) with IJulia

`jupyter` at least is tested on Windows and should work splendidly.

EDIT: I see from your edit that you’re talking about `julia-repl`. Have you tried `inferior-julia-mode` and found it insufficient or tried `jupyter` with IJulia yet?

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 20, 2019, 7:16am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/113 "2019-11-20T07:16:24Z")

</div>

Have you made a personal experience with these on Windows? Would you mind sharing?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 20, 2019, 7:29am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/114 "2019-11-20T07:29:14Z")

</div>

Please note that unless open an issue on Github, these things can get lost easily. This may be a problem just specific to your setup, some users are using julia-repl on Windows. If you open an issue it can be debugged there and hopefully fixed.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 20, 2019, 7:34am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/115 "2019-11-20T07:34:11Z")

</div>

[https://github.com/tpapp/julia-repl/issues/20](https://github.com/tpapp/julia-repl/issues/20)

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 20, 2019, 7:51am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/116 "2019-11-20T07:51:05Z")

</div>

Has anyone been able to use Windows Emacs successfully with Julia? How did you do it? (Note: I do not mean cygwin.)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 20, 2019, 8:40am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/117 "2019-11-20T08:40:15Z")

</div>

Thanks, I reopened that issue. I would appreciate some help from Windows users in figuring this out. Please discuss in the issue.

---

<div class="post-metadata">

**Author:** ![magister-ludi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/magister-ludi/32/4003_2.png) [@magister-ludi](https://discourse.julialang.org/u/magister-ludi)\
**Post date:** [November 20, 2019, 1:06pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/118 "2019-11-20T13:06:28Z")

</div>

I apologize, I didn’t re-read the message you were responding to, where it said:

> [@PetrKryslUCSD](#):
>
> Apparently the Windows Emacs does not handle bash well

I wouldn’t really expect that, of course, and recognise that cygwin is a bit too much overhead for some. But cygwin Emacs interacts with bash very well, so suits my work style, YMMV.

---

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [November 20, 2019, 1:11pm UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/119 "2019-11-20T13:11:25Z")

</div>

That’s what I was racking my brains trying to remember. It’s been close to 2 years since I actively used emacs on Windows, and I don’t have emacs installed on the one Windows computer I still have to use regularly. I _think_ that I was using `inferior-julia-mode` successfully back then, but I couldn’t tell you for sure. What I do know is that emacs-jupyter at least actively runs CI on Windows and fixes any bugs specific to the platform.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [November 21, 2019, 9:25am UTC](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142/120 "2019-11-21T09:25:02Z")

</div>

You are right, there have been advances since Emacs 21. I now find  
that with my set up using cygwin with Emacs 26 works very well.

EDIT: Sorry, I have to take it back. Emacs plus Julia don’t play nice with cygwin paths.  
[https://github.com/tpapp/julia-repl/issues/74](https://github.com/tpapp/julia-repl/issues/74)

[Previous page](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142.md?page=5)

[Next page](https://discourse.julialang.org/t/what-if-i-want-a-simpler-ide-for-julia/31142.md?page=7)
