
Tmux and Vim – better together - kiyanwang
https://blog.bugsnag.com/tmux-and-vim/
======
zeroxfe
All this looks really great, however I think I just can't deal with the effort
of maintaining these complex editor configurations anymore.

I've been a multi-decade Vim user, until I switched to VSCode last year. It
made me realize how much better the user experience can be for an editor. I
had all kinds of complex vim configurations and plugins with special cases for
linux vs. mac, server vs. desktop, GUI vs. terminal, all of which are a huge
pain in the butt to maintain.

If there was one thing I could ask of Vim (or even emacs), it'd be a
consistent high-quality default user experience.

(Ofcourse, the default experience in VSCode isn't perfect either, but it took
me four lines in settings.json and four plugins (vim, go, eslint, clang) for a
near-perfect experience.)

~~~
city41
I've always felt vim is an excellent editing experience but a lousy project
management (ie "IDE") experience. I've also grown tired of the song and dance
of setting up vim config and plugins, getting excited when I finally get a
decent autocomplete working without stopping to consider VS Code has great
autocomplete out of the box.

The problem is vim editing never quite mixes well with other editors. The vim
plugin for VS Code is great, but do you let it take over Ctrl? Do you get
Ctrl-R for redo, and sacrifice other VS Code usages of Ctrl for example? The
vim plugin is also pretty buggy here and there and no matter what, I always
find a vim plugin is missing some vim feature I depend on.

It's frustrating in a first world sense. It's hard to have your cake and eat
it too with vim.

~~~
tomsthumb
The real solution to this problem is for IDEs to support an editing frontend
interface and then editors to be split into frontend and backend so that
really you could use them in the context of the IDE.

The obvious example would be using the neo-vim frontend to interact with
VSCode, Eclipse, IntelliJ, etc.

What I want most is a Neo-Vim frontend to org-mode in Emacs, because it would
be hilarious and because while Spacemacs is kind of cool it's still not Vim.
And org-mode is awesome and unparalleled but vim > emacs all day.

~~~
city41
That's what this project is working on:
[https://github.com/carlosdcastillo/vim-
mode](https://github.com/carlosdcastillo/vim-mode) \-- using neovim as the
editing backend to Atom. It still doesn't completely solve the problem of vim
and editor key commands clashing.

Another interesting approach is VimR ([http://vimr.org/](http://vimr.org/)),
which is Neovim combined with native IDE addons such as Markdown preview, file
tree, etc. The nice thing about VimR is since the whole thing is one cohesive
package, the developers can ensure it has a consistent experience. Sadly it's
OSX only though.

------
whitetub
I use tmux and vim together as my dev environment for five years (used Sublime
before) and I like to add another thought:

One huge advantage is that I can run the dev setup on a remote server which
allows to keep the entire enviroment with all build tools and watchers live
and persistent for weeks. You can do this on a local environment as well if
you never shutdown the system or suspend only but it still feels different.
Just an example: You worked weeks ago on a side-project and want to get in
again for a small fix. Just to recall and open all relevant files, run the
build tool and server plus tweaking the layout requires five minutes and
usually you don't do it, you just want to fix one line and not think about the
project setup. With tmux you go to the respective workplace with prefix+p (for
previous) in case you kept the workplace still running. That's it. With a 1GB
RAM VPS I can run many tmux workplaces/windows each with ~8 vim instances or
other processes.

Further, I can develop on any of my notebooks/PCs/OSes with an ssh client
installed, even on my phone. Btw, tmux and vim are perfect for phone
keyboards, try it and it happens really frequently that you are on the go and
want to try another idea/fix. Here, prefix+z for zooming into a pane is quite
helpful.

And when I get a new computer my dev environment doesn't have to be setup
again. I am still using the same remote server which survived three notebooks
now.

And a (small) bonus: If you want to show coworkers your work in a browser (if
it's a website) you give them just your static server IP without the need to
ifconfig your current local dynamic IP before.

Running your dev environment remotely is a small thing but makes a huge
difference in daily use.

~~~
daveguy
> (btw tmux and vim are perfect for phone keyboards, try it yourself)

What terminal emulator do you use on your phone? Android, right?

~~~
whitetub
Prompt on iOS and JuiceSSH on Android are very good.

------
Taek
I've found my flow with vim+i3+ranger

i3 is a window manager that can outcompete anything you can do with vim splits
or a tool like tmux/screen. It's whole existence is based around putting
windows in the right place at the right time.

Ranger is a vim-like ncurses file browser. I think it's genuinely one of the
most underappreciated tools in programming. The ability to hjkl through your
file system, with quick marks, with vim-style cut/paste, with visual mode,
with about 20 other things that I use daily which just means that no other
viewer comes remotely close.

My typical flow has between 4 and 12 terminals open, with the bulk being
ranger->vim, which allows me to easily navigate complex project structures.
The others are usually make, or htop, or some ssh.

I'll usually have a couple of web browsers open in another workspace as well.
i3 tiling extends to all applications.

~~~
flukus
How is i3 for a general purpose desktop? For coding it sounds great, but the
same machine is used when I'm browsing the web or playing games or whatever.

~~~
mxvzr
I've been using awesomewm for a few years now, and while it's not i3 I believe
it's close enough that I can answer that: A tiling wm is very viable for a
general purpose desktop. It's also extra useful if you have a multi-monitor
setup.

Applications that works in fullscreen (mpv, vlc, video games) requires you to
set them fullscreen/floating, either yourself with a keybinding (Mod+f on
awesome) or through the wm's config file. Some applications do not like tiling
at all, some java gui apps from what I remember, but there are so few of them
that I can't actually give you any example.

I say give it a shot, but beware: controlling your desktop entirely from your
keyboard is addictive.

~~~
flukus
Keyboard is great sometimes, but do they have mouse control too? If I'm
watching videos when I'm in bed I'm pretty mouse reliant, but if I'm coding
then the more I can do on a keyboard the better

~~~
mxvzr
Some things can be done with the mouse: selecting a client, moving to another
workspace, changing the layout, moving/resizing a floating (ie. not tiled)
window

(awesome 4.x is more mouse friendly than awesome 3.5: in addition to the
above, you can also change a few client modes with the mouse: float/tiled,
maximize, stick (ie. display on all workspaces), on-top, close.)

Keyboard only: adding/removing columns/masters, moving a client to the master
area, resize master area, move client to another workspace/screen.

~~~
flukus
Thanks, I'll put it on my ever growing list of things to try out.

------
hultner
I usually use :!command to run a command real quick from within vim, where I
also have access to the current filename and contents.

A classic gem is ":w !diff % -" to see what I've changed since the last save.

~~~
name_for_now
I used to run more commands from vim, but now I personally find Ctrl-Z is
usually more convenient for all the one-off commands. If I do run stuff from
inside of vim, it's now usually ":w !" or ":r !" (or some custom command
wrapper around those).

~~~
sergiosgc
Oh! Ctrl-Z! I've been calling !zsh all these years, for quick shell access,
and never thought of suspending vim.

Thanks for the nugget.

~~~
NocturnalWaffle
Put this in your zshrc, and Ctrl-Z will also resume the most recently
suspended process. Really handy to just Ctrl-Z in and out of Vim.

    
    
      # Make Ctrl-z also resume background process
      fancy-ctrl-z () {
          if [[ $#BUFFER -eq 0 ]]; then
              BUFFER="fg"
              zle accept-line
          else
              zleush-input
              zle clear-screen
          fi
      }
      zle -N fancy-ctrl-z
      bindkey '^Z' fancy-ctrl-z

~~~
mrkgnao
I don't really know zsh, but that looks like it should be

    
    
      zle flush-input

------
red2awn
Neovim got a great builtin terminal emulator so I can just treat it like any
other vim panes.

~~~
z1mm32m4n
The last time I looked at the terminal emulator built into Neovim the
keybindings were terrible. What keys do you personally use for navigating in
and out of TERMINAL buffers?

~~~
gsf
I use the bindings suggested in the Input section at
[https://neovim.io/doc/user/nvim_terminal_emulator.html](https://neovim.io/doc/user/nvim_terminal_emulator.html).
Took a little getting used to but now I quite like them.

------
dotsh
Nice article, I used tmux for a long time until I switched back to screen as
it is default on most operating systems.

\--

Dunno is it only me but I see a weird thing going on with "new" Vim community.

Everyone is starting to use it as a VSCode or Atom, trying to use hundreds
plugins but most of them don't even know how to use tabs properly... I see
most of this by new "neo" fans "you don't know how to make a thing in Vim?
Download Neovim... or even Spacevim configuration." type of way. :)

Don't want to start a war here because every editor has it's own fans and I do
not want to offend anybody either. But every one should learn to use vanilla
version of their editor of choice before moving further.

~~~
name_for_now
I think if someone is going to use something like SpaceVim, it would be best
to start early and just learn that instead of vanilla vim. The initial
cognitive load will be high for learning both anyways.

I personally do not have the patience for it even after giving it a try. But
in my case, my 3yo laptop might just be too slow to handle all that bloat.

~~~
dotsh
Many of them will be lost when editing something in vim on a completely clean
remote server or anything other... Like how to explore files without NERDTree?

You can learn basic Vim commands in 30min with vimtutor. One thing to keep in
mind is this:
[https://danielmiessler.com/study/vim/#language](https://danielmiessler.com/study/vim/#language)
and this [https://www.vi-improved.org/recommendations/](https://www.vi-
improved.org/recommendations/)

------
Morantron
Nice article! I'm gonna introduce some of this in my configuration for sure!

I have a function in my .vimrc (
[https://github.com/Morantron/dotfiles/blob/master/vimrc#L229](https://github.com/Morantron/dotfiles/blob/master/vimrc#L229)
) that allows me to send current vim selection to the adjacent tmux pane with
vimux. This comes in very handy in REPLing sessions ( MySQL and the like ).

For copy pasting stuff ( like ids, urls, SHAs, etc ) I use
[https://github.com/morantron/tmux-fingers](https://github.com/morantron/tmux-
fingers) which is awesome and you should totally try it! ( </shameless-plug> )

------
nolemurs
Tmux is a great program, especially when trying to edit on a remote server.
But I think it's worth pointing out that for most purposes, Tmux is basically
just a Tiling Window Manager that only works on your terminals.

Tiling Window Managers are awesome, and I totally see why people who can't use
one would choose to use Tmux, but if you have the option, I would totally
recommend just going with the TWM and skipping Tmux.

~~~
kingmanaz
Used Ion for years but finally just "upgraded" to fvwm2 and multiple tmux
terminal windows. Reason? More often than not dozens of Unix hosts are being
accessed through SSH rather than X. Tmux is always there, regardless of method
of connection. Also, use the antique "nvi" (rather than Vim or Neovim)
whenever possible. Same reason; it's always there, no tweaking.

If I find myself craving extra functionality I'm probably overthinking things
and am in need of a vacation.

------
falcolas
Prior to moving to a mac and using iTerm2, I did this very thing. But iTerm2
has good enough support for all of the same things, without some of the
limitations imposed by tmux, that I find I don't need to use tmux anymore.
Split windows, quick switching between panes, mouse support... it's all just
there.

When I work remotely, I use the tmux integration provided by iTerm2 to provide
more native windows, and it works well enough that I don't have to think about
it most of the time.

If I were moving back to Windows or to a Linux development machine, I probably
would go back to tmux in a single window. I'm just somewhat glad I don't have
to right now.

------
vanboxel
I was a little bummed to see no mention of `slimux`. It's a fantastic way to
execute commands in a real shell (another tmux pane) from the comfort of your
ViM session. By combining this with say IPython running in the shell, it's a
powerful way to do data analysis. I wrote an ebook on this kind of workflow at
[http://dvbuntu.github.io/compute/](http://dvbuntu.github.io/compute/)

------
tmaly
I have been using vim since 1996. I really never started customizing things
till 2005. I still keep things super minimal.

~~~
kingmanaz
Amen.

------
chilicuil
This is great, I have a similar configuration with near to zero effort to
setup thanks to vundle (vim) and tundle (tmux) plugin managers.

[https://github.com/chilicuil/dotfiles/blob/master/.vimrc#L25...](https://github.com/chilicuil/dotfiles/blob/master/.vimrc#L252)

[https://github.com/chilicuil/dotfiles/blob/master/.tmux.conf...](https://github.com/chilicuil/dotfiles/blob/master/.tmux.conf#L83)

One additional trick I often use is to look for inotify events in split tmux
panes to compile/run tests on every save.

[https://superuser.com/questions/181517/how-to-execute-a-
comm...](https://superuser.com/questions/181517/how-to-execute-a-command-
whenever-a-file-changes)

------
1001101
Hmm. I use both vim (and vi since '93 or '92), and tmux, but maybe not with
this type of workflow - mine is similar. For a shell, I use ConqueShell (and
ConqueGDB when debugging) and have a vertical split bound to a leader (and you
can use the output as a normal buffer - copy, paste, scroll, search using
regex in normal, etc are some of the benefits). I've got shift+arrow bindings
for navigating around buffers in splits, and alt+arrow for navigating around
windows. As for running tests, I have autocmds that do bindings based on
filetype for generic operations, and if there's a test I run often on a
project, I just create a leader binding for it. If you're thinking about this
type of workflow, give ConqueShell an eval. YMMV. edit: fzf seems to work a
lot like CTRL-P.

~~~
AkBKukU
I've been using this recently as well. ConqueGDB is almost perfect. I want to
have a tab for development that is just files and a tab for debug that is a
split with gdb and one file viewer for stepping & etc. But if I set
breakpoints in my development tab the Conque buffer has to create a new split
and show itself there. So I have to close it every time after I set
breakpoints.

I had some problems with CounqueShell and ended up finding it easier to switch
to a "real" shell using byobu.

------
vitorsgomes
How do you guys share session in TMUX beetween computers that there are not in
the same local network?

~~~
bpizzi
There's tmate: a tmux fork wich allow instant pairing without the hassle of
ssh'in into the other computer and running a shared tmux. You can instant-run
with the online service or install and use your own tmate server (BSD-
licensed).

[https://tmate.io/](https://tmate.io/)

------
brunoluiz
Not sure if it is only at my Mac, but with the latest Mac OS + iTerm + TMUX +
VIM, my clipboard doesn't work properly, even using the following setup on my
tmux

bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

Anyone with the same problem?

~~~
grimgrin
No clue if you've done these steps, and I'm not on Mac OS at the moment (also
I use Terminal.app), but:

In my main .tmux.conf I put:

    
    
      if-shell 'test "$(uname -s)" = Darwin' 'source-file ~/.tmux-osx.conf'
    

And then in .tmux-osx.conf I add:

    
    
      # https://robots.thoughtbot.com/tmux-copy-paste-on-os-x-a-better-future
      # To copy/paste on OSX just brew install the following
      # brew install reattach-to-user-namespace
    
      # Setup 'v' to begin selection as in Vim
      bind-key -t vi-copy v begin-selection
      bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
    
      # Update default binding of `Enter` to also use copy-pipe
      unbind -t vi-copy Enter
      bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
    

I only pointed out the separation of configs because it's kinda nice for my
setup.

~~~
brunoluiz
I had the same config, but I discovered what was missing. If you use zsh, you
need to add this as well:

set-option -g default-command "reattach-to-user-namespace -l zsh"

------
erikb
I'm really a little disappointed how much this article is about using plugins
and additional tools instead of learning to integrate both tools by oneself.
At least vim is not a tool that gets better by plugins.

~~~
tcoff91
Vim absolutely gets better with plugins. ctrlp.vim, vim-tmux-navigator, vim-
clang-format, ag.vim, vim-fugitive, supertab, vim-surround are all valuable
plugins that I make use of every single day.

~~~
erikb
But you don't know what it stopped you from discovering about vim core that
you solve your problems that way. And as shown in another comment in this
thread, each problem you can solve with vim core you can combine with other
features:

E.g., if you don't use a plugin for command execution and instead learn about
":!command" then you will at some point be able to automatically read the
results from your command into the current buffer (":r !command"). This
enables a complete set of features that you haven't even known before. For
instance you won't ever have spelling errors in your IP addresses ever again,
because you just read them with a ifconfig-grep-awk combo into wherever you
want to paste it. If you also learn about creating your own vimcode functions
you can make it even a hotkey to insert your current ip address at the cursor
position.

All of that wouldn't be possible to discover if you used a plugin to execute
shell commands from vim.

~~~
tcoff91
I still do those things you are talking about (really handy to read the output
of find into the buffer when creating a new CMake file), but you are going to
be hard-pressed to achieve something like :Gblame command from vim-fugitive or
the funcitonality of ctrlp.vim without plugins.

~~~
erikb
Yes, you can't achieve the same thing without the plugins. You also can't
achieve the interactive debuggers that IDEs have. But have you missed those?
After some time I bet you've found other ways to debug your code that are just
as handy, maybe not in all cases but therefore are even better in others. When
I started to miss debuggers it forced me to really learn strace, logging
frameworks of my favorite languages, dmesg, and journalctl filtering. It's
still more work than setting up a breakpoint and tabbing through my code, but
on the other hand I have it available as well, when I need to debug a
wordpress plugin a contract worker wrote for my customer 10 years ago on a
webserver that has none of my usual settings, plugins etc. In the end the pros
and cons equal out I'd say.

And let's assume we can agree on that: Great plugins and great skill can on
average be just as good. Why do I think that in vim plugins are the wrong
course? Because everything in vim is based around skill. You can't even
navigate efficiently without spending some time learning search, word/block
navigation, etc. If one wants to achieve success with plugins I'd say it's
much smarter to build your tools on a foundation that is created for plugins
like emacs or an IDE.

------
cmurf
I use tmux and vim often, but man my mind turns to mush reading about about
either one of them. The biggest hassle I have is with copy-paste with tmux
which I find ugly and can never remember. And then the method differs if you
need to copy from tmux to another program that is not in tmux. Like for
example just clicking on a URL in a tmux pane won't work (for me), nor have I
figured out how to copy them so I can paste them into Firefox. And whenever I
go read about it or ask it's like, 14 steps to glory and my mind is mush on
step 4.

No, I don't think I have a brain injury.

------
baldfat
I love TMux and Vim and I miss it when off my machine. Has anyone used TMux in
the Creator's Edition of Windows 10? It is AWESOME. I need to get CMUS and
Ranger working and I will be a happy camper.

~~~
skrebbel
I used it for a while but then I realized that ConEmu also supports split
panes, and then i can just scroll/select the buffers by mouse instead of
ctrl+b, [.

ConEmu really is an amazing piece of work. Quirky to configure (but hey, so it
tmux), but truly amazing still :-)

~~~
pdexter
You can scroll using mouse in tmux too. :set mouse

Not sure about selecting panes with mouse though

~~~
a3n
Yes, you can select panes and windows with the mouse.

    
    
      $ cat ~/.tmux.conf 
      set -g default-terminal "tmux"
      bind-key -t vi-copy 'v' begin-selection
      bind-key -t vi-copy 'y' copy-selection
      set -g mouse on
      setw -g mode-keys vi
      
      set display-panes-time 3000 #3s
    

My two wishes:

\- I wish mouse selecting text didn't select across multiple panes, or all of
the blank space in a (zoomed) single pane. ("Anyone? Anyone?")

\- I wish the tmux copy buffer ( ctl-b [ select yank ctl-b ] ) would copy into
the system copy buffer ( ctl-v ).

~~~
pdexter
I have wished those two wishes before. Haven't seen a solution.

------
jeromenerf
Being a tmux+vim and acme user, I'd love to see some mouse integration when
using tmux+vim: \- right click on a file pattern, say
some/path/to/file:line:column to open in the current vim session \- middle
click on some selection to execute in a new tmux pane

That would be a nice way to integrate with the surrounding environment without
so many plugins, just simple programs that would run in a separate window.

Vim remote can help, neovim-remote might help even further.

------
flukus
What keyboards are everyone using for these setups? I find by the time you've
got three layers (desktop, tmux, vim) the bindings are getting really
complicated and inconsistent. Alt-tab might switch applications but then some
lower programs use alt for a lot of things.

I'd love something configurable, like a dedicated WM key, a dedicated tmux key
and a dedicated vim/app key.

I'm sure it's possible to setup manually, but it would take a lot of work.

------
cmurf
Another idea is a tiling terminal program. I just started using Tilix.

[https://github.com/gnunn1/tilix](https://github.com/gnunn1/tilix)

It has panes, sessions, windows. Customizing is a lot easier if you're not
already familiar with tmux. The one thing you get with tmux that's killer is
if your shell dies (remote disconnect, you have to logout, etc) the processes
in tmux keep running.

~~~
artisdom
looks very good, been looking for a terminal that supports tiling and it has
nice color theme built-in, thanks.

------
whatupmd
I like using :r ! <command> for running terminal commands.

What I liked the most about your article is that 'further reading' section at
the bottom!

------
paapi__gudiya
I use vim 7.4 and it segfaults atleast four-five times everyday. I suspect
it's some plugin that is causing it to crash but I don't really know. Does it
happen to anyone else too?

I have mapped Ctrl-C to ESC and I use it often. One specific instance I have
seen vim crash is when the cursor is at np.inf and I press Ctrl-C.

~~~
adrianN
Have you tried upgrading to a non-ancient vim?

~~~
striking
Or, to neovim.

~~~
goerz
Actually, neovim is somewhat more prone to crashing than traditional vim, in
my experience

------
vxxzy
I've shyed away from using tmux and Vim. For some reason, when I use tmux and
Vim, if I 'copy' a snippet of text (using my mouse/cursor higlight -> right-
click -> copy) it treats all of the empty space a actual "space" characters
when I 'paste'. Why does it do this?

~~~
yorwba
Expecting terminal programs to interact sanely with mouse gestures is somewhat
futile. If I need to paste something from a vim buffer into a graphical
application, I use :'<,'>!xsel -bi to copy the text. If I were doing it more
often, I would probably add a keybinding to streamline the process, and solve
minor annoyances like having to undo to get the copied lines back. Maybe there
is a good plugin for clipboard integration?

~~~
palunon
You could use " _y (and /or "+y, depending on your X clipboard setup) to yank
to your clipboard. Similarly, "_p paste from it.

~~~
sullyj3
I always forgot which of + and * works and end up having to try both. I think
I looked up the difference once, but I didn't retain the information.

------
ake1
i used to use tmux but when i migrated to neovim i started using its built in
terminal for multiplexing instead.

~~~
hultner
Interesting, I suppose neovim much like emacs is turning more and more into an
entire OS/environment for some users nowadays using it as a windowmanager like
that.

------
egonschiele
Lots of good advice, Vimux was the killer for me I think. I have a common
workflow of edit -> run -> edit and that will make that workflow seamless.

I also tried out vim-arpeggio but kept seeing "Arpeggio is not defined". Looks
like the project hasn't been updated for a while.

------
austinpray
On my mac I used tmux and vim for years. However, only after building a little
arch linux box did I realize I actually wanted a tiling window manager and an
ide all along.

~~~
greenshackle2
At one point I was using a tiling WM and tmux. But between the WM, tmux and
vim windows.. well, I don't really need 3 layers of tiling, so I got rid of
tmux.

------
tbezman
I'm sort of stuck in IDE Mode now. Been using IntelliJ for a few years with a
vim emulator in it. It's alright but I miss this cool stuff too.

------
nialv7
I wish tmux could document their line protocol. Currently only iTerm is using
that to integrate with tmux and no one else is doing it.

~~~
svlasov
Terminator devs are working on the same kind of integration [1]. You can
already attach to a running tmux session and Terminator will pick up the
layout and create the splits and tabs accordingly. It has some rendering
issues if you are using zsh and/ or fzf but otherwise great to see the
progress.

[1]:
[https://bugs.launchpad.net/terminator/+bug/1301605](https://bugs.launchpad.net/terminator/+bug/1301605)

------
rcpt
Mouse integration has always been the blocker for me with tmux. Any good
solutions out there yet?

~~~
brunoluiz
Just set the following configs at your .tmux.conf

# Enable mouse set -g mouse on

# Sane scrolling set -g terminal-overrides 'xterm*:smcup@:rmcup@'

------
motyar
I use tmux window instead of splits.

bind-key -n C-t new-window

bind-key -n C-w kill-window

bind-key -n C-n next-window

------
wsdjeg
Nice post, I want improve tmux layer in SpaceVim. I think it is best editor
for developers.

[https://github.com/SpaceVim/SpaceVim](https://github.com/SpaceVim/SpaceVim)

~~~
lwakefield
You wouldn't happen to be an author, would you? Could that maybe be why you
believe it is "the best editor for developers"?

------
tambourine_man
Good article. I like the colors you chose for tmux and vim

------
mulrian
Anyone know what shell colour scheme they are using?

~~~
cust0m
I want to know it too

~~~
dotsh
[https://github.com/gregsexton/Muon](https://github.com/gregsexton/Muon) :)

~~~
mulrian
Awesome. Do you also know what they are using for the shell? Seems to be
something a bit different from that theme.

~~~
dotsh
It looks like Atom but Im not sure, you can see more of them here:
[https://github.com/lysyi3m/osx-terminal-
themes](https://github.com/lysyi3m/osx-terminal-themes)

------
ruleabidinguser
I think you have to be a fool to use anything short of a full IDE unless you
have no choice.

------
hashkb
Disappointed in Bugsnag for covering such trodden trails for a HN front page
grab. Content marketing should have something to do with your business. There
are hundreds of blog posts describing this exact setup.

~~~
drewbailey
Not once does the article mention Bugsnag or try to market their product. Who
is to stop an enthusiastic engineer from sharing a workflow they find useful.
The article has great content and powerful visuals to help convey their point.
I'm happy to see companies not try to influence authors to plug their product
in their blog posts.

~~~
hashkb
Then it goes on their personal blog.

------
taude
Looks like what he really needs/wants is an IDE.

~~~
erikb
In fact, if you are not on Windows your OS already _IS_ an IDE. An OS is
software, so it also needs to be developed. Therefore it was natural for OS
developers to create their OS in a fashion that enables development. Apple and
Microsoft are the only exceptions, and Apple somewhat backtracked on that path
to enable developers as well.

Some easy things are usually much faster to learn in a traditional IDE, since
it has GUI. But that often leaves people less able to continue development
_OF_ their development environment. If you want the full power or understand
how stuff works underneath you better use an OS that works as IDE, e.g. Linux.

~~~
wruza
>os is an ide

It went nice for me with mingw/msys and selected tools for few years, but
modern windows (>=vista) ugliness and death of native windows gtk distribution
completely dimmed it. Msys2 may be a solution, but what a mess it is for non-
packaging people. Since yesterday night I'm more than happy with mint/xfce
laptop again.

I really don't need anything windows-specific, except few time-stealing games.

