Hugo Hacker News

Ask HN: Anyone prefer a terminal based coding setup?

cutthegrass2 2021-08-19 09:08:03 +0000 UTC [ - ]

Terminal, TMUX, neovim when i'm writing bash/python or any of the markup/config "languages".

Intellij for Java, because of all the extra crap associated with Java.

stonecharioteer 2021-08-19 16:33:33 +0000 UTC [ - ]

I've only recently started to deal with Java and I was wondering about this. Even building a Gradle project didn't seem to work without Intellij! What's up with that? I use neovim, tmux, fish and Python all the time. Rust works fine. It's just Java!

jolmg 2021-08-18 15:47:12 +0000 UTC [ - ]

Typically, I'll split the workspace in 2 (i3 wm), have a terminal with vim on the right, and a stack of terminals on the left. One terminal would be with the shell mainly for interacting with git, running tests, manage the directory structure, building/packaging the project, etc. Another may have a project-specific console to interact with functions in the project as I write them. Another may have a development server running and show the live log output. I may tile this last one in a small corner above the vim window so it stays visible.

Terminal windows is what most of my windows are, but typically I'll also have a browser window for looking at documentation and interacting with the issue tracking system. If it's a personal project, I may have an emacs org-mode window for managing my tasks there.

I regularly fullscreen to different windows when I want more room or to focus on them.

second--shift 2021-08-18 19:21:46 +0000 UTC [ - ]

emacs -nw is where i live.

just stick with emacs defaults, or if you already know vim use doom or evil mode.

emacs' modes give you syntax highlighting, formatting, code completion, a repl, and more. I do a lot of python work (not too much C), and still prefer emacs+python over vscode, idle, others.

alpaca128 2021-08-18 18:46:55 +0000 UTC [ - ]

I'm using Vim, either with multiple tabs and splits and a terminal buffer, or within a terminal multiplexer. The latter is slightly less consistent with controls but has the advantage that I don't accidentally start Vim recursively, which is usually not desirable.

Recently I started using NeoVide to run NeoVim in a graphical frontend that otherwise still looks almost identical. I'm not sure whether I'll keep using it long-term, but it seems even snappier than before. I guess terminal output just can't quite compete in terms of latency.

asicsp 2021-08-18 14:52:50 +0000 UTC [ - ]

These might help:

* https://blog.sanctum.geek.nz/series/unix-as-ide/

* https://themouseless.dev/

Personally, I use gvim for all my text editing needs and use a normal terminal (i.e. no tmux, i3, etc). There's not much to share, unless you are interested in my vimrc, aliases, etc: https://github.com/learnbyexample/scripting_course

ahefner 2021-08-19 03:19:03 +0000 UTC [ - ]

On two occasions in my career (most recently just a few years ago) I have for various dumb reasons ended up working 99% out of a single terminal ssh'd into some other machine for significant lengths of time. Screen + emacs gets it done.

pjs_ 2021-08-18 21:09:31 +0000 UTC [ - ]

Yep, I do everything in Ubuntu desktop, bash, tmux and (n)vim and have done for ~10 years. I use only a small handful of plugins and configuration options. I try not to modify stuff too much.

To first order if I get a fresh machine or VM, I can get a development environment that I am fairly comfortable with with by running:

sudo apt install nvim tmux python3 python3-pip

dyingkneepad 2021-08-18 16:45:06 +0000 UTC [ - ]

I use Vim and I make heavy use of the ":terminal" command. I use splits and buffers. Sometimes I have more than one tab in my terminal (terminator). I used to use Gvim too, that works fine too, but these days I have to make heavy usage of ssh so I kinda dropped the habit. Ctags is another important tool I make use of. I also do a lot of grepping but I should switch to one of the many better alternatives.

runT1ME 2021-08-18 18:50:15 +0000 UTC [ - ]

Depends on the language (I don't use it for Java), but for Scala and python I definitely prefer it. I'd definitely recommend using TMux with Vim, I've mapped my tmux navigation to mirror Vim's window navigation, and I can keep a terminal and REPL open and easily copy-paste between Vim and my tmux windows.

_benj 2021-08-18 16:34:50 +0000 UTC [ - ]

with the release of nvim 0.5 I started using a terminal based setup, which is just a full screen terminal with tmux split in usually vertically, one big terminal on the left and 1|2 on the right.

On the past I've tried similar setups to no avail, but what changed this time was that I completely threw out the "religious" ideal of "evil-mouse" and turned on mouse support on both tmux and nvim and it's awesome!

Everything that I use often enough I made a keybinding for it but I'm perfectly happy selecting text or scrolling with the mouse on vim/tmux.

I've been using this for a while on personal Zig projects thought, for professional stuff that I just need to finish it, Jetbrains rules!

srswtf123 2021-08-19 04:33:19 +0000 UTC [ - ]

This is basically what I do too:

Tmux, vim, and some tmux-fu to enable copy-on-select with the mouse.

taf2 2021-08-19 07:57:58 +0000 UTC [ - ]

Vim in a Bash shell should do the trick?

pwg 2021-08-18 14:51:08 +0000 UTC [ - ]

For myself, that would be an rxvt (or xterm) and the Joe editor in WordStar emulation mode.

randomopining 2021-08-19 01:56:37 +0000 UTC [ - ]

IntelliJ for Java is too good doe