stefanluptak

stefanluptak

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:

Most Liked

NobbZ

NobbZ

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…

lucaong

lucaong

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.

Where Next?

Popular in Questions Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
mgjohns61585
Could someone help me? I’m making my first elixir program, number guessing game. I can’t figure out how to convert the user’s guess from ...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

Other popular topics Top

hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a > b) do {:ok, "a"} end if (a < b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 43806 214
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

We're in Beta

About us Mission Statement