Aside from it I've run into Xiki [4] that seems to bridge the gap on multiple levels between GUI and CLI. GUI to bring the discoverability and CLI to keep it scalable.
[1] https://fishshell.com/ [2] https://github.com/jethrokuan/z [3] https://github.com/jethrokuan/fzf [4] https://xiki.org/
It also allows for faster throw-away function editing and saving if you want to keep it. `function`, `funced`, `funcsave`, `functions`
* Tmux: Use pane splitting so much, always frustrates me to see others moving so slowly through terminal windows and tabs. bonus: I also have pane splitting to re-attach to existing SSH connection if it was split from a SSH session.
I used to use tmuxinator and probably will again, more valuable if multiple projects simultaneously.
* Guake/Gnome Drop Down Terminal: Terminal dropdown is just such a huge time saver.
* z: jump to recent directories, https://github.com/jethrokuan/z
* fzf: get ctrl + r history search functionality back that bash provides, also provides ctrl + o to open files in $EDITOR https://github.com/jethrokuan/fzf
* copyq: Best clipboard manager evah! You NEED a clipboard manager, can't believe I went years without it, I trigger mine with ctrl + alt + c
* pipe to clipboard: ` | xsel --clipboard`, wrap xsel in a `cb` abbreviation in fish for autoexpansion. `abbr -a cb xsel --clipboard` may need to install `xsel` first.
* workspace tiling: I map 9 workspaces to the same grid on the keyboard with these keys + an modifier. I also assign certain applications to always auto-assign to specific workspaces:
w e r
s d f
x c v
* clock: set it to show seconds, you can easily perform loose timing way. Use `time ` if you are on the terminal.
* timezone: if you work with a team who is in one timezone, just set it to use their timezone during working day. I made a script to toggle this back and forth easily
I also display my timezone in my tray if I am toggling timezones.
* Arch Linux: On previous distros I would have to futz with package sources way too much. With Arch it is the easiest and most productive ever by using the `yay` package manager/wrapper. I can type `yay -S ` and 99% of the time it will be available and even automates building it from source if there isn't a binary. It just works, I will never go back. Arch has some of the best packaging out there, I will use Arch for this reason alone, it saves many hours of time.
* ethernet cable: I use ethernet cabling whenever possible. Lower latency times and in video conferences you can say "not me" when the stream breaks down. Results in you not having to troubleshoot wifi. Using wires is amazing!
* Jabra 410 WIRED speakerphone: one reason, hardware mute button. Don't have to fiddle through windows to see if you are on mute. Big red ring around the speakerphone shows if you are muted or not.
* Screen annotations + touchscreens: The reason to use a touchscreen with linux is screen annotations. Arch + Gnome 3 works well enough with `yay -S gromit-mpx` as an alternative to Compiz Annotate. This saves time because during presentations you can communicate much more efficiently by drawing a red circle around something. You don't need a touchscreen and can use a mouse pointer, but that does slow things down, still better than no annotations though.
* noise cancelling headphones: this is the best investment I have ever made. Do this.
* Focus music: "hey google, play focus music" and also I purchased lifetime subscriptions for brain.fm and focus@will. I toggle between the 3. Combined with noise cancelling headphones you can get into some killer focus zones with these!
* rubber ducking: similar to other posts here for marking @todos etc, which I may look into their suggestions for a CLI method. But for now I use a running Google Doc where I write it out for getting stuck and making progress. Here is an article I wrote expanding on this blurb. https://medium.com/@ElijahLynn/write-it-out-f9c74082e6ca
* 2-5 minute runs: Sometimes just gotta get up and run. I run around the block, it doesn't have to be long. A goal of once around the block is super good for brain health, more is better but 2 minutes is really a good start. My long-term goal is to do a 2 minute run every hour during the day.
=======================================================
Here is my most recent Arch setup with most of these tools listed, it is pretty messy and I didn't document everything in there but maybe it is useful to someone, there is also a video recording of how to install Arch + Gnome 3 at the top of the document that my friend and colleague Cameron Eagans walked me through with some great discussion around UEFI & BIOS. https://docs.google.com/document/d/1QtQyveacu8dgTeoy8939Ti42...
Gosh that was way longer than it was intended to be, original intent was just to write about `fish abbr --add` which you should switch to fish for that reason alone!!
https://github.com/jethrokuan/z (fish port)