While it's not the intention to replace the binary itself, I'm just not a fan of the idea of substituting <i>system built-ins</i> in everyday behavior. Stuff like cd, ls, etc. I like to keep it to the basics.<p>Even just with PATHs or aliases, or a new binary entirely.<p>And I'm a person who is no stranger to dot-configs. I've never taken it as far as Z(1), <a href="https://github.com/rupa/z" rel="nofollow">https://github.com/rupa/z</a>.<p>A system builtin is stuff you'd see stowed away in /bin. They are essential low level binaries you have to trust. If somehow a malicious ls got out there, nothing's stopping people from writing memory-safe malware that uploads your $HOME configs to some server in a far away land.<p>The more I say this, I guess defaulting to a substitute for a builtin command doesn't matter. The average developer relies on so much third party stuff in their shell, vim, package manifests, and so on that all these years could have done bad stuff, nothing has happened.<p>Maybe it's my defense mechanism firing that my own dot-config has grown so big I don't remember what the hell's in it anymore.<p>In fact, it's a common thing for terminal applications to accept environmental variables to use third party applications. For instance, $EDITOR, and less often (but no less useful): $PAGER. You can give it a shot with most(1) [1], I mention it in my book, <i>The Tao of tmux</i> [2] (available free to read online).<p>So also, regarding $EDITOR, if you prefer that being in GNU nano, Pico, Vim, or emacs, set it in your .bashrc/.zshrc:<p>export EDITOR=vim<p>Also, for git's editor, I don't remember if it falls back to $EDITOR, but you can do:<p>export GIT_EDITOR=vim<p>Another tool at your disposal for ls(1), which even FreeBSD supports, it $LS_COLORS:<p><a href="http://man7.org/linux/man-pages/man5/dir_colors.5.html" rel="nofollow">http://man7.org/linux/man-pages/man5/dir_colors.5.html</a><p>edit: actually, BSD's ls(1) seems to be $LSCOLORS (<a href="https://www.freebsd.org/cgi/man.cgi?query=ls&sektion=1" rel="nofollow">https://www.freebsd.org/cgi/man.cgi?query=ls&sektion=1</a>):<p>[1] <a href="http://www.jedsoft.org/most/" rel="nofollow">http://www.jedsoft.org/most/</a><p>[2] <a href="https://leanpub.com/the-tao-of-tmux/read#leanpub-auto-read-the-tmux-manual-in-style" rel="nofollow">https://leanpub.com/the-tao-of-tmux/read#leanpub-auto-read-t...</a>