Command line tools for productive programmers
1–10 of 143 posts
Re: Command line tools for productive programmers
#2Re: Command line tools for productive programmers
#3- broot - like tree
- funky - like direnv
- fzf - fuzzy finder
- mcfly - cli completion
- zoxide - like cd
- gitupdate - auto commit and push
The author references this discussion https://lobste.rs/s/yfgwjr/what_interesting_command_line_too...
Re: Command line tools for productive programmers
#4I think productive programmers would get way further by learning powerful scripting and one liners than picking different pre existing binaries. Its a little oldschool but pipe is the most powerful concept on the command line and it’s wildly productive
Pipe is the new-cool! (always_was.jpg)
Re: Command line tools for productive programmers
#5I think productive programmers would get way further by learning powerful scripting and one liners than picking different pre existing binaries. Its a little oldschool but pipe is the most powerful concept on the command line and it’s wildly productive
FZF, for instance, is a major novelty in terms of interface, and it really follows the UNIX philosophy and shows immense composability.
Re: Command line tools for productive programmers
#6I think productive programmers would get way further by learning powerful scripting and one liners than picking different pre existing binaries. Its a little oldschool but pipe is the most powerful concept on the command line and it’s wildly productive
Re: Command line tools for productive programmers
#7Re: Command line tools for productive programmers
#8Be careful with quoting though, got myself into a situation where every new terminal asked for the root password. Shellcheck found the reason quickly.
(edit) Another benefit is that those aliases abstract over differences of invocation on different distros. Here are some examples:
# PACKAGE MANAGEMENT
alias pcl="sudo zypper cc && sudo zypper purge-kernels"
alias pin="sudo zypper install -y"
alias pla="zypper search"
alias pli="zypper packages --installed-only | rg "
alias plu="zypper list-updates && zypper list-patches"
alias pre="sudo zypper remove"
alias pup="far too long" # upgrade all packages and ask for confirmation
alias pups="far too long + shutdown" # upgrade all packages without confirmation && shut down
# QUICK EDITS
alias als="nvim ~/.alias && source ~/.alias"
alias brc="nvim ~/.bashrc && source ~/.bashrc"
alias egr="sudo nvim /etc/default/grub && sudo update-grub"
alias fst="sudo nvim /etc/fstab"
alias pro="nvim ~/.profile && source ~/.profile"
# QUICK MOVEMENTS
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias sc="shellcheck"
# SYSTEMD
alias sden="sudo systemctl enable --now"
alias sdls="sudo systemctl --type=service"
alias sds="sudo systemctl start"
# VIM
alias nrc="cd ~/.config/nvim/ && nvim init.lua"
alias nv="nvim"
alias scratch="nvim scratch.txt"
Re: Command line tools for productive programmers
#9> broot solves this problem by being aware of the size of your terminal window and adapting its output to fit it.
What? You can just pipe `tree` into `less`. The solution isn't to download Yet Another Binary that does this specific thing and doesn't come installed on most platforms.
Re: Command line tools for productive programmers
#10For his usecase of funky i use ~/.bash_aliases, that way i can easily share them between machines. Eg to quickly add a new one: alias als="nvim $HOME/.bash_aliases && source $HOME/.bash_aliases" Be careful with quoting though, got myself into a situation where every new terminal asked for the root password. Shellcheck found the reason quickly. (edit) Another benefit is that those aliases abstract over differences of…