Started getting into the terminal-only workflow. My current setup is:
zsh (shell alternative)
tmux (multiplexer)
byobu (wrapper built for screen but I like tmux's window model)
Utilities-wise, I've got:
emacs/emacsclient (for just about everything, sans graphics)
calcurse (calendar app)
elinks (for quick reference, google-chrome [for the rest of the internet])
Is there any cool bits you can't live without? I'd love to know what term-based utilities and tools you guys are using.
P.S. vim zealots, try keeping it to yourselves, yeah? I like emacs.
Last edited by RaycatRakittra on Tue May 02, 2017 4:40 pm, edited 2 times in total.
GNOME Terminal
This is just the default terminal, but I'm experimenting with using something like Alacritty (https://github.com/jwilm/alacritty) which is GPU-accelerated.
FZF - a command line fuzzy finding tool, integrates into the command line and vim very easily, and it's super fast https://github.com/junegunn/fzf
I'd probably use emacs a lot more often if there was actually a usable lua indentation plugin (among a few other things), I really like the GUI and magit is literally magic.
EDIT: I forgot to add git in the list, which is probably the best tool that I have learned. It's more complicated than other version control systems, but it does a lot and it is fast.
Does the job, and that's all I need. I used to rice my installation all over, but I don't care for that anymore, all I care now is that it does the job.
I don't use terminal-based text editors or file managers, they are too limited information-output-wise and are straight up crippling input-wise.
My setup is similar to Ikroth's: neovim, zsh, ag and fzf. Differences: I am on a mac, so I use iterm2 instead of the default terminal. I also installed Prezto which adds lots of goodies on top of zsh (it's a bit like oh-my-zsh, but feels more lightweight).
I use fzf only inside neovim. I am comfortable with ag so I use it when I'm on the console even if I have e fzf available there, too. My vim's fzf is configured to use ag internally since I can filter out files that don't interest me.
I never use tags for navigation. But I am not a vim power user. Maybe there is an awesome use case for them and I just don't know it.
so my list is pretty similar:gnome-terminal, neovim, ag, fzf, etc
Some actual difference is that I'm currently using fish instead of zsh. I originally changed because no matter how I configured my zsh it always had a hint of slowness to it, which fish doesn't, but the fish language is incompatible in ways that my brain can't seem to properly learn. I guess I don't like either option in the end.
I usually have about 3 terminals open when doing love stuff, one for vim, one for love, and one for misc stuff I use repler so that my game is also a terminal prompt, which is occasionally useful, but the real value is being able to change the code, have it autoreload in my game, and get immediate feedback both from inside the game and from the terminal using log commands, without having to tab around or change my focus. I guess I could use tmux to package this up into a single terminal, but that's just more keyboard shortcuts I both have to memorize and remember to use. I do use it for webdev stuff, but that's just because I usually need way too many terminals open to keep a "modern" web build system going. that stuff is usually set-and-forget, which tmux is fine for.
terminal: xfce4-terminal; because it doesn't have a lot of dependencies and is customizable.
shell: bash; gool ol' bash, i'm used to it
editor: micro; i found this editor by accident and i've fallen in love with it. it's customizable, well made and fast.
music: cmus; a customizable and small music player
file manager: ranger; quite elegant and minimal terminal file manager
terminal: urxvt, because urxvtd + urxvtc makes it lightweight, it can be properly configured and I can hide all bars
shell: fish-shell, because it's friendly for interactive things
editor: vim
for multiplexing i use my window manager (i3wm), usually with a large vim pane covering 60% of the screen and then a horizontal split on the right with one terminal for long running stuff (dev server etc) and one for misc stuff (git, renaming and removing files etc). With love often I just have the vertical split and two panes total.
my shell is also my file manager and chromium handles most of the rest.