Using Vim or Emacs for dual-monitor development workflow

Hi all,

I would like to follow up on the topic I posted here. Unfortunately, it seems that VSCode is not able to do this for me, so maybe I should try some other editor.

I am playing with the idea of using Vim (NeoVim, SpaceVim) or Emacs (Spacemacs) for development for quite long time already, so maybe now is the time to do it.

The only thing I am not sure about is the usage of Vim or Emacs on multiple monitors.

My idea of development workflow is to have the file tree + source + test on the main monitor and the terminal on the secondary one. Then with focus on the test file, run the test on current line (or run all tests in current file, or all tests in a project) with a keyboard shortcut and see the results on the terminal on the second monitor. Also switch between the terminal and the sources quickly with a keyboard shortcut, etc.

My monitors are not the same resolution, so a “solution” to just maximize one instance of editor across two monitors would not work for me.

From all the articles I read, I guess maybe tmux could help or using vim in a client/server mode, but honestly, I have no idea how to achieve something like I mentioned above.

I assume my idea of workflow is not unique and lot of you here are already doing this. I would really appreciate some of your knowledge in this area or your experience setting up this kind of workflow. I hope I described my situation clearly.

Thanks a lot. :slight_smile:

1 Like

Vim user here. What I usually do is to start a terminal in a separate window (or terminal split if working on a single screen) and use something like mix-test.watch to run relevant tests whenever I save a file.

That tends to be much simpler to configure and versatile than other possibilities.

2 Likes

I do pretty much the same as described by @lucaong. Though I use emacs.

Depending on the terminal emulator you use you could even send clicks on filename:line:column: to Emacs.

Alternatively just start a single Emacs demon, connect 2 clients to it, each in it’s own “frame”.

How you then switch between those frames is more a problem of your window manager rather than the editor.

Personally I live to use awesome-wm, though after a reinstall of my system, I haven’t yet found the time to set it up again…

3 Likes

BTW: I am using MacOS, if that helps somebody. :slight_smile: